在windows 2003 Server 中同时安装Apache和IIS,两者只能正常启动一个,即Apache和IIS有冲突,原因在于IIS在默认的情况下会占用所有IP的80端口,当启动了IIS后,再启动Apache时,会出现一个错误提示框,提示内容为:"The requested operation has failed!" ,即“请求的操作已经失败”;若先启动Apache再启动IIS,系统提示“另一个程序正在使用此文件,进程无法访问”,微软的解决方案是:倘若Apache和IIS要共存,且都需要使用80端口的话,需要网卡里绑多一个IP,具体做法如下,供网友参考。 *若Apache和IIS要共存,且都需要使用80端口,但只有一个IP的话,要使什么Apache Proxy,即apache代理,与本文方法不相同,请加以区分。
并复制到 c:/windows/system32 目录下。 三、IIS改成监听的指定IP (用httpcfg.exe程序来指定) httpcfg.exe是用来指定IIS的只监听指定的IP及端口 添加绑定:httpcfg set iplisten -i 218.87.96.161 查看绑定:httpcfg query iplisten 删除绑定:httpcfg delete iplisten -i 218.87.96.161 在本例中运行: httpcfg set iplisten -i 218.87.96.161 即可使IIS只占用 218.87.96.161 IP地址 (若是要监听多个IP,分别指定几条就行了。)
下面以两个IP分别设置两个环境为例说明,已知条件:218.87.96.160绑定了www.fz49.com域名,是一个PHP的站点,需要apache环境;218.87.96.161绑定了hao.arklan.com域名,是个ASP站点,需要IIS环境。 一、Apache改成监听一个IP的端口。 在httpd.cfg 文件里。有 #Listen 12.34.56.78:80 写成如:Listen 218.87.96.160:80 二、下载微软 Support Tools工具里的 httpcfg.exe 程序 下载地址:
/upfile/soft/网站架设/httpcfg.exe |
四、重新启动服务器 查看两个WEB环境是否正常。用 netstat -an | find ":80" 命令就可以查看所有的80端口,最后测试两个IP的网站是否正常。
《Apache和IIS共存》一文出自方舟系统站,转载请注明出处。