轉載(IIS 和 tomcate 共用80 端口) 我試驗成功過的
、在Windows2003中設置IIS只監聽一個ip,到WIN2003的CD下的 support/tools/Support.cab。
解壓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!!