我有本地服务器在家里运行的Debian 8.我访问这个服务器的IP地址给路由器。 现在我想尝试使用虚拟主机来使我的服务器更好一些。 我创build了两个虚拟主机blog.com和mysite.com 。 但我的问题是,他们都不工作。 每次我在浏览器中input它们什么都不会发生。 我已经尝试了几个解决scheme在堆栈溢出或谷歌。 没有帮助。
有什么build议?
首先:除了站点的默认目录外,我还设置了另外两个目录,并更改了默认目录。
1)为blog.com:/var/www/blog.com/html
- 从两台服务器提供http数据
- Apache SSL虚拟主机共享相同的DocumentRoot
- 如何从Intranet界面parsing主机名?
- 更改为SSL index.php后,修复程序在服务器请求之前预期
- NGNIX服务器块不起作用
2)为mysite.com:/var/www/mysite.com/html
3)将默认值: / var / www / html更改为/ var / www / default / html
第二:然后我在每个html文件夹中创build一个index.html文件
第三:我在/etc/apache2/sites-available目录下创build了两个进一步的.conf文件,并将default.conf DocumentRoot
blog.com.conf
<VirtualHost *:80> ServerName blog.com ServerAlias www.blog.com ServerAdmin [email protected] DocumentRoot /var/www/blog.com/html/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
mysite.com.conf
<VirtualHost *:80> ServerName mysite.com ServerAlias www.mysite.com ServerAdmin [email protected] DocumentRoot /var/www/mysite.com/html/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
将default.conf DocumentRoot更改为:
default.conf
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/default/html/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
第四:启用我的两个新网站
sudo a2ensite blog.com.conf
sudo a2ensite mysite.com.conf
第五:我重新启动了Apache
sudo服务apache2重启
也没有重新加载
sudo服务apache2重新加载
sudo /etc/init.d/apache2 restart
第六:我编辑我的hosts文件
127.0.0.1 localhost ip blog.com ip mysite.com
对于基于名称的虚拟主机工作,您必须确保您尝试访问网站的主机名,parsing为服务器IP地址。 这意味着,在你的情况下,blog.com和mysite.com应该parsing为服务器本地IP地址。 这些应该是通过相应地configuration名称服务器来完成的。
另一种在本地实现的方法是将条目添加到本地PC的hosts文件,以便正确parsing。 正如你已经把条目放在你的服务器hosts文件中,你的电脑不知道它,并且不能parsing名称,并且没有任何地方的请求到达站点。
看看基于名称的虚拟主机和Microsoft TCP / IP主机名parsing顺序
虚拟主机configuration似乎没问题。 这里的问题是,你的电脑不知道谁是blog.com和mysite.com。
您需要在主机服务器的文件中进行configuration,但在自己的计算机中:
/etc/hosts文件的方式执行此操作。 C:\Windows\System32\Drivers\etc\hosts文件 这使得计算机将首先检查hosts文件是否有blog.com或mysite.comparsinglogging,而不是直接在configuration的主dns中查看。