现象
一台服务器,设置多个ip,然后某个ip给iis使用,某个ip给apache使用,iis和apche都要使用80端口,但是当apache或者iis起动后,它默认监听本机所有ip地址的与web相关的端口,这就导致iis和apache只能有一个启动,另外一个启动不起来。
解决方法
假有两个ip下共存,iis为192.168.0.1,apache为192.168.0.2
以管理员身份运行dos窗口,执行下面两条命令行
cdc:\inetpub\adminscripts
cscript adsutil.vbs set w3svc/disablesocketpooling true
该命令反馈如下disablesocketpooling : (boolean) true
重启iis
将httpcfg.exe文件,复制到服务器的c:\windows\syswow64目录下(windows 2003放到c:\windows\system32目录下),
以管理员身份运行dos窗口,执行命令行
绑定到某ip: httpcfg set iplisten -i 192.168.0.1(此命令使iis的只监听指定的ip及端口)
查看绑定: httpcfg query iplisten
(如果要删除的话执行下句httpcfg delete iplisten -i 192.168.0.1)
重启iis服务
重启world wide web publishing service服务
修改apache中http.conf设置listen 192.168.0.2:80,就应该可以两个服务同时运行,相互不冲突了。
iis的访问地址为http://192.168.0.1,apache访问地址为http://192.168.0.2