Apache多站点实现原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache多站点实现原理相关的知识,希望对你有一定的参考价值。
参考技术A很多人常常看到一台服务器上跑多个站点,不同的域名访问不同的站点,就会有个疑惑:访问的时候并没有在地址栏中加入端口号,多个域名都是解析到这个服务器的IP地址,服务器怎么能够正确的分辨和解析呢?
其实还是对http协议不够了解,看下图一切一目了然
对应的在apache中有rewite和proxy模块,它们就是为了完成这些任务, 一台服务上我们配置多个 vhost,必然需要端口号,
比如:
a.com :80
b.com :8080
实际访问的时候 www.a.com 自动转发到80端口, www.b.com 则自动转发到8080端口。
网站 1:
网站 2:
这样一个服务器的 80 端口上就跑起两个站点.
没事找了个虚拟主机来试用,尝试用给的IP地址访问怎么都访问不了,一直都显示
后来仔细一想,虚拟主机是需要依赖域名的,不然没办法区分vhost,后来找到测试的域名果然可以正常访问了。
APACHE 多站点配置方法
例如你的主机IP:192.168.1.8
而你有三个站点,域名为:www.111.com,www.222.com,www.333.com
相应的网站文件放在主机的:\website\111;D:\website\222;D:\website\333文件夹下
现在打开APACHE配置文件httpd.conf文件,设置不同的域名到不同的目录中:
NameVirtualHost 192.168.1.8
<VirtualHost 192.168.1.8>
DocumentRoot "D:\website\111"
ServerName www.111.com
</Virtualhost>
<VirtualHost 192.168.1.8>
DocumentRoot "D:\website\222"
ServerName www.222.com
</Virtualhost>
<VirtualHost 192.168.1.8>
DocumentRoot "D:\website\333"
ServerName www.333.com
</Virtualhost>
以上是关于Apache多站点实现原理的主要内容,如果未能解决你的问题,请参考以下文章