服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > Apache

apache如何在80端口建立多个域名站点,apache建立多个网站的方法

发布时间:2017-01-10 来源:服务器之家

一台服务器安装了APACHE,如何绑定多个域名和网站内容呢?最简单的方法当然就是不同的站用不同的端口。但这样就需在域名后加入端口号才能访问,不能直接以域名访问。另一个方法就是使用主机头名虚所主机了。打开APACHE配置文件httpd.conf 在最后一行输入以下代码

<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>

Aapche 如果需要绑定多个域名到一个IP上,是支持的。需要注意以下2点:

1 必须要开启 NameVirtualHost开关选项,

如:NameVirtualHost 220.231.220.231:80

2 NameVirtualHost 需要指定具体的端口

例如”:80″,跟<VirtualHost 220.231.32.*:80>对应,否则会报错:

mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results。

翻译过来就是: NameVirtualHost 地址,指定端口和不指定端口混合使用是不支持的,将会产生未逾期的后果。

未逾期的后果就是: 第2个不起作用,仅当一个站点设置起作用。

完整的例子:

#
# 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>