如何使用 Apache 虚拟主机和 etc/hosts

如何使用 Apache 虚拟主机和 etc/hosts

我正在努力

http://www.mysite.comhttp://test.mysite.com

在生产网络服务器上运行,现在我在本地机器上进行一些基本测试,然后在生产网络服务器上传输数据。

如果可能的话,我只想使用 apache 的虚拟主机和 /etc/hosts。

我在 virtualHost 中使用 apache 的 ServerAlias 指令,例如:

<VirtualHost *:80>
    DocumentRoot /path/to/mysite
    ServerName www.mysite.fr
    ServerAlias *.mysite.com
    <Directory /path/to/mysite>
        Options FollowSymLinks MultiViews
        AllowOverride All  
        Order allow,deny 
        Allow from all
    </Directory>
</VirtualHost>

然后在 /etc/hosts 中输入我想要的域名:

127.0.0.1 www.mysite.com

127.0.0.1 test.mysite.com

当我在本地测试它时,它有效!(我可以访问 www.mysite.com 和 test.mysite.com)当我在远程网络服务器上测试它时,它确实忽略了我的设置,并且只有默认的 www.mysite.com 可用。

我错过了什么?或者我的问题应该是,是否可以使用虚拟主机和 /etc/hosts 文件在 Web 服务器上访问两个 URL(www 和 test)?

答案1

您如何尝试访问 test.mysite.com?

为了使其在 Internet 上运行,您需要在托管您的 DNS 的任何服务器/服务上为 test.mysite.com 添加 DNS A 记录,或者在您的 /etc/hosts 文件中添加远程服务器的公共 IP 记录。

/etc/hosts 仅适用于本地机器。

在您的本地设置中,在 /etc/hosts 中:

[YOUR REMOTE SERVER'S PUBLIC IP] www.mysite.com test.mysite.com

但是,这只对您(或您手动将记录添加到正确的主机文件的任何系统)有效,直到您为远程服务器的公共 IP 为 test.mysite.com 添加 DNS A 记录。

答案2

是的,只要满足以下条件,您描述的配置就是可能的:

  • 在具有 Web 浏览器的系统上托管文件(或大多数情况下为 DNS)
  • Web 服务器上相应的虚拟主机配置

答案3

这也许能对你的困境有所帮助。

如果您想要使用静态 IP 为多个域提供服务,则需要多个接口。除非您使用虚拟接口。

< 免责声明:这仅是示例。使用时请自负风险。>

打开:/etc/network/interfaces

auto eth0
iface eth0 inet dhcp

auto eth0:1
iface eth0:1 inet static
     address 192.168.0.2
     network 192.168.0.0
     netmask 255.255.255.0
     #if you don't have a gateway setup, comment "gateway" line
     gateway 192.168.0.1 
     broadcast 192.168.0.255

auto eth0:2
iface eth0:2 inet static
     address 192.168.0.3
     network 192.168.0.0
     netmask 255.255.255.0
     #if you don't have a gateway setup, comment "gateway" line
     gateway 192.168.0.1
     broadcast 192.168.0.255

然后:

去:/etc/hosts

192.168.0.2 www.mysite.com
192.168.0.3 test.mysite.com

如果您设置了 DNS,那么您可以使用相同的 IP 来映射您的系统。希望这能有所帮助。如果信息不是最清楚的,请联系我。请记住使用不同的 IP 和域名;不要重复使用 IP 地址。不要重复使用域名(昵称)。根据 ,这是唯一的匹配项/etc/hosts

相关内容