两个IP实现IIS和Apache公用80端口的设置方法

 
1. 打开命令提示符并确保您位于 X:InetpubAdminscripts 文件夹(其中 X 是 IIS 安装驱动器)中。为此,请在命令提示符下键入以下命令行: X: CD InetpubAdminscripts 2. 打开 Adminscripts 文件夹后,请在命令提示符下键入以下行: cscript adsutil.vbs set w3svc/disablesocketpooling true 3. 该命令反馈如下: disablesocketpooling :(BOOLEAN) True 4. 停止 IIS Admin 服务,然后再启动它。 5. 重新启动 WWW 服务。珖氍舶夦鷏罾.{m?C鹠谠n{n簑傷钅洚{o镜汽铼纛{p?7??W柬?颪缗#镗q?J 蘗畖s?宵髗9哕s蠯U羰I7} 好了,接下来设置IIS要监听的ip地址。到2003的CD下的 support/tools/Support.cab。解压出httpcfg.exe文件,COPY到 windows/system32/目录下, 我的资源中提供下载 http://www.jb51.net/softs/9541.html 用法自己看帮助 命令行: 绑定到某IP: httpcfg set iplisten -i 192.168.1.1 即命令使用IIS的只监听指定的IP及端口 查看绑定: httpcfg query iplisten 删除绑定: httpcfg delete iplisten -i 192.168.1.1 IIS部分到此就设置好了,接下来设置Apache监听ip和端口 listen 192.168.1.2:80 server 192.168.1.2:80 虚拟主机设置相应的ip和端口 好了接下来停止IIS,重启Apache 再重新启动服务器 启动iis 设置iis的端口80 ip地址为全部未分配即可 网上的另外一篇文章: 在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代理,与本文方法不相同,请加以区分。 下面以两个IP分别设置两个环境为例说明,已知条件:218.87.96.160绑定了www.jb51.net域名,是一个PHP的站点,需要apache环境;218.87.96.161绑定了www.yuanma51.com域名,是个ASP站点,需要IIS环境。 一、Apache改成监听一个IP的端口。 在httpd.cfg 文件里。有 #Listen 12.34.56.78:80 写成如:Listen 218.87.96.160:80 二、下载微软 Support Tools工具里的 httpcfg.exe 程序 下载地址:     http://www.jb51.net/softs/9541.html 并复制到 c:windowssystem32 目录下。 三、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,分别指定几条就行了。) 四、重新启动服务器 查看两个WEB环境是否正常。用 netstat -an | find ":80" 命令就可以查看所有的80端口,最后测试两个IP的网站是否正常。
原文地址:https://www.cnblogs.com/endv/p/4782266.html