我在试着
http://www.mysite.com和http://test.mysite.com
在生产and服务器上运行,现在我在本地机器上进行一些基本测试,然后再在生产and服务器上传输数据。
如果可能的话,我希望只使用apache的虚拟主机和/etc/host。
我在ServerAlias中使用apache的virtualHost指令如下:
<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/host中放置我想要的域:
127.0.0.1 www.mysite.com
127.0.0.1 test.mysite.com当我在当地测试这个时,它是有效的!(我可以访问www.mysite.com和test.mysite.com )当我在远程When服务器上测试它时,它确实忽略了我的设置,而且只有默认的www.mysite.com可用。
我错过了什么?或者我的问题应该是,是否可以使用虚拟主机和/etc/ host文件在www服务器上同时访问urls (www和test)?
发布于 2011-07-10 20:37:50
您是如何访问test.mysite.com的?
要在因特网上工作,您需要在任何服务器/服务主机上为test.mysite.com添加一个DNS记录,或者将远程服务器公共IP的记录添加到/etc/host文件中。
/etc/主机只适用于本地机器。
在本地设置中,在/etc/host中:
[YOUR REMOTE SERVER'S PUBLIC IP] www.mysite.com test.mysite.com但是,这只适用于您(或您手动将记录添加到适当主机文件的任何系统),直到您为远程服务器的test.mysite.com公共IP添加了DNS A记录为止。
发布于 2011-07-10 18:59:07
是的,只要具备以下条件,您所描述的配置是可能的:
发布于 2017-05-12 04:33:34
这可能会对你的困境有所帮助。
如果要使用静态If为多个域提供服务,则需要多个接口。除非你使用虚拟接口。
<免责声明:这只是一个例子。使用风险自负。>
开放:/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,那么您可以使用相同的If映射您的系统。我希望这能帮到你。如果这不是最清晰的信息,请与我联系。记住要使用不同的IP和域名;不要重用IP地址。不要重用域名(昵称)。根据/etc/hosts的说法,这是唯一的匹配。
https://serverfault.com/questions/288815
复制相似问题