一台服务器安装了APACHE,如何绑定多个域名和网站内容呢?最简单的方法固然就是不一样的站用不一样的端口。但这样就需在域名后加入端口号才能访问,不能直接以域名访问。另外一个方法就是使用主机头名虚所主机了。打开APACHE配置文件httpd.conf 在最后一行输入如下代码linux
NameVirtualHost *:80 #使用虚拟主机,80端口 <VirtualHost *:80> #第一个主机,80端口 DocumentRoot “D:/root/abc” #指向本地位置 ServerName www.abc.com #主机名称(注意这个很重要,就是你的域名,准确输入才能成功) </VirtualHost> #结束第一个主机配置 <VirtualHost *:80> #第二个主机,80端口 DocumentRoot “D:/root/def” #指向本地位置 ServerName www.def.com #主机名称 </VirtualHost> <VirtualHost *:80> #第三个主机,80端口 DocumentRoot “D:/root/ghi” #指向本地位置 ServerName www.ghi.com #主机名称 </VirtualHost>
如此类推,只要你的机性能好,带宽够,多挂几个均可以apache
Aapche 若是须要绑定多个域名到一个IP上,是支持的。须要注意如下2点:服务器
1 必需要开启 NameVirtualHost开关选项,性能
如:NameVirtualHost 220.231.220.231:80网站
2 NameVirtualHost 须要指定具体的端口spa
例如":80",跟<VirtualHost 220.231.32.*:80>对应,不然会报错:翻译
mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results。code
翻译过来就是: NameVirtualHost 地址,指定端口和不指定端口混合使用是不支持的,将会产生未逾期的后果。server
未逾期的后果就是: 第2个不起做用,仅当一个站点设置起做用。blog
完整的例子:
# # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # NameVirtualHost 219.133.61.226:80 <VirtualHost 219.133.61.226:80> ServerAdmin hot@vip.qq.com DocumentRoot /usr/local/apache2/htdocs1 ServerName www.linux51.com ErrorLog logs/linux51.com-error_log CustomLog logs/linux51.com-access_log common </VirtualHost> <VirtualHost 219.133.61.226:80> ServerAdmin hot@vip.qq.com DocumentRoot /usr/local/apache2/htdocs2 ServerName www.linux52.com ErrorLog logs/linux52.com-error_log CustomLog logs/linux52.com-access_log common </VirtualHost>
此文从百度文库转载