Apache2虚拟主机不工作(Debian)

我有本地服务器在家里运行的Debian 8.我访问这个服务器的IP地址给路由器。 现在我想尝试使用虚拟主机来使我的服务器更好一些。 我创build了两个虚拟主机blog.commysite.com 。 但我的问题是,他们都不工作。 每次我在浏览器中input它们什么都不会发生。 我已经尝试了几个解决scheme在堆栈溢出或谷歌。 没有帮助。

有什么build议?

我做了什么:

首先:除了站点的默认目录外,我还设置了另外两个目录,并更改了默认目录。

1)为blog.com:/var/www/blog.com/html

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,但在自己的计算机中:

  • 如果您使用Linux,则可以按照您在服务器上编辑/etc/hosts文件的方式执行此操作。
  • 如果你使用Windows,你可以编辑C:\Windows\System32\Drivers\etc\hosts文件

这使得计算机将首先检查hosts文件是否有blog.com或mysite.comparsinglogging,而不是直接在configuration的主d​​ns中查看。