基于名称的虚拟主机

时间:2013-11-27 21:52:05

标签: apache localhost hosting virtualhost

我无法弄清楚虚拟主机的工作原理。例如,我可以在我的'hosts'文件中说:

127.0.0.1 localhost
127.0.0.1 mysite1.com mysite1.com mysite3.com

这是否意味着每当我在我的浏览器URL中键入localhost,mysite1.com,mysite2.com或mysite3.com时,加载的页面对于所有这些页面都是相同的?

1 个答案:

答案 0 :(得分:1)

/etc/hosts文件与Apache的虚拟主机的连接有限。你用它做的唯一事情就是给你的主机(或者更确切地说环回interace lo)几个名字。如果你还没有设置关于虚拟主机的东西(我假设)输入

http://localhost/    
http://mysite1.com/
http://mysite2.com/
http://mysite3.com/

因为浏览器中的URL将呈现相同的欢迎页面(假设您至少已设置了Apache),因为在所有情况下,浏览器都会尝试访问Apache通常监听的127.0.0.1的Web服务器到。

要创建真正的虚拟主机,您现在需要使用标记在Apache的配置文件中激活此功能

<VirtualHost mysite1.com:80>
...
</VirtualHost>
<VirtualHost mysite2.com:80>
...
</VirtualHost>
<VirtualHost mysite3.com:80>
...
</VirtualHost>

最简单的虚拟主机版本是您为每个主机定义单独的文档根目录并共享所有其他配置项。当然,这个细节(由...表示)肯定超出了这个答案的范围。阅读的良好开端是http://httpd.apache.org/docs/2.2/vhosts/examples.html