Apache2 虚拟主机不工作(Debian)

Apache2 虚拟主机不工作(Debian)

我家里有一台运行 Debian 8 的本地服务器。我使用路由器提供的 IP 地址访问此服务器。现在我想尝试使用虚拟主机来使我的服务器更好一些。我创建了两个虚拟主机blog.commysite.com。但我的问题是它们都不起作用。每次我在浏览器中输入它们时都没有任何反应。我已经在 Stack Overflow 或 Google 上尝试了几种解决方案。但都无济于事。

有什么建议吗?

我做了什么:

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

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文件夹中创建了一个index.html文件


第三:我在目录中创建了另外两个.conf文件/etc/apache2/sites-available,并更改了default.conf DocumentRoot

博客网

<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

默认配置文件

<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 重新启动


第六:我编辑了我的hosts文件

127.0.0.1 localhost
ip blog.com
ip mysite.com

答案1

为了使基于名称的虚拟主机正常工作,您必须确保您尝试访问站点的主机名解析为服务器 IP 地址。这意味着,在您的例子中,blog.com 和 mysite.com 应该解析为服务器本地 IP 地址。这些应该通过相应地配置名称服务器来完成。

另一种在本地实现此目的的方法是将条目添加到本地 PC 的 hosts 文件中,以便正确解析。由于您已将条目放入服务器的 hosts 文件中,因此您的 PC 无法识别它,无法解析名称,并且对站点的任何请求都无法到达任何地方。

看一下基于名称的虚拟主机Microsoft TCP/IP 主机名解析顺序

答案2

虚拟主机配置似乎没问题。问题是您的计算机不知道 blog.com 和 mysite.com 是谁。

您需要在您自己的计算机上进行在主机服务器文件中所做的配置:

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

这使得计算机首先在 hosts 文件中检查是否有 blog.com 或 mysite.com 解析的记录,而不是直接在其上配置的主 DNS 中查找。

相关内容