转载(IIS 和 tomcate 共用80 端口) 我试验成功过的
解压httpcfg.exe文件,COPY到windows/system32/目录下
或者从其他地方下载httpcfg.exe的文件放到本地电脑中
如设置IIS监听10.200.200.200的确80端口请求,即命令使用IIS的只监听指定的IP及端口
cmd命令提示符下,先进入httpcfg.exe所在的目录,再用如下命令:
httpcfg.exe set iplisten -i 10.200.200.200
附其余两个命令
查看绑定: httpcfg query iplisten (如果有监听的IP,会列出来)
删除绑定: httpcfg delete iplisten -i 10.200.200.200
2、保证iis下的ip设置为全局默认
net stop iisadmin /y
net START w3svc
3、接下设置Tomcat,当然或者你用Apache,Resin等也都可以,在Tomcat的配置文件Server.xml里找到
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" address="61.156.31.2"/>
添加address="61.156.31.2",这个IP为tomcat监听的IP
4、如果没有重启电脑,iis与TOMCAT是不能同时运行的,我遇到的就这样,因为两个都监听80端口
5、重启电脑后,发现iis与tomcat都能同时运行了,但根据IP去访问iis或者tomcat他并不会跳转,应该就是IIS的套接字池有问题了
按如下的操作禁用这套接字池
cmd命令提示符中进入 X:\Inetpub\Adminscripts 文件夹(其中 X 是 IIS 安装驱动器)中
再运行以下命令
cscript adsutil.vbs set w3svc/disablesocketpooling true
成功的话会返回:disablesocketpooling :(BOOLEAN) True
再次关闭IIS与TOMCAT的服务器,接着启动tomcat,成功后再去IIS的管理工具,修改你那网站属性,将那IP改为你IIS监听的IP,再启动IIS
呵呵,奇迹开始诞生了
如果想取消绑定的话
cscript adsutil.vbs set w3svc/disablesocketpooling false(需重启服务器才生效)
httpcfg delete iplisten -i 10.200.200.200
tomcat 去掉address="61.156.31.2"
ok!!