欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2023-11-10 20:49:46
1. 打开命令提示符并确保您位于 x:\inetpub\adminscripts 文件夹(其中 x 是 iis 安装驱动器)中。为此,请在命令提示符下键入以下命令行: x:...
1. 打开命令提示符并确保您位于 x:\inetpub\adminscripts 文件夹(其中 x 是 iis 安装驱动器)中。为此,请在命令提示符下键入以下命令行:
x: cd \inetpub\adminscripts
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\r蘗畖s?宵髗9哕s蠯u羰i7}
好了,接下来设置iis要监听的ip地址。到2003的cd下的 support/tools/support.cab。解压出httpcfg.exe文件,copy到
windows/system32/目录下,
我的资源中提供下载
用法自己看帮助
命令行:
绑定到某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 程序
下载地址: 
   
并复制到 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,分别指定几条就行了。)
四、重新启动服务器
查看两个web环境是否正常。用 netstat -an | find ":80" 命令就可以查看所有的80端口,最后测试两个ip的网站是否正常。