解决[warn] _default_ VirtualHost overlap on port 80, the first has precedence问题在apache2的httpd.c
解决[warn] _default_ VirtualHost overlap on port 80, the first has precedence问题
在apache2的httpd.conf里新增加了1个VirtualHost,域名是www.ligh.com,此时,服务器总共2个VirtualHost ,apachectl restart的时候却出现了下面的警告提示:
?
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
?
大概意思就是说后面新增加的这个VirtualHost 由于端口被占用,不能生效,沿用第一个虚拟主机的配置。
?
检查了一下,发现,原来在httpd.conf里,我没有把#NameVirtualHost *:80前的注释去掉,导致这个没有生效。
?
去掉#之后restart,问题解决,如果有https,则总体修改为
?
NameVirtualHost *:80
NameVirtualHost *:433
?
Linux系统重启apache出现:
?[root@localhost conf]# service httpd restart
Stopping httpd:??????????????????????????????????????????? [? OK? ]
Starting httpd: [Wed Jul 16 06:52:43 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Wed Jul 16 06:52:43 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Wed Jul 16 06:52:43 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Wed Jul 16 06:52:43 2008] [warn] NameVirtualHost 124.254.31.4:80 has no VirtualHosts
看上面提示,发现了,apache虚拟主机出问题,警告:默认监听端口80上有重叠,在我们正常配置虚拟主机时,linux系统配置,XXX.conf 虚拟配置文件,一般都是默认访问在第一个站,表明虚拟主机没配置好。?解决方法:编辑虚拟主机配置文件,改两处地方就可以了。1.一处NameVirtualHost *:80
2.二处
<VirtualHost *:80>
? ? DocumentRoot /home/wwwroot/
??? ServerName?xxx.com?[root@localhost conf]# service httpd restart
Stopping httpd:??????????????????????????????????????????? [? OK? ]
Starting httpd:??????????????????????????????????????????? [? OK? ]