這兩天在服務器上同時部署了Tomcat和IIS,由于兩個Web server沒有任何關系,不想采用集成的方法,因為通過IIS分發請求到Tomcat性能肯定有影響,而且還是按URL pattern來轉發,感覺很不爽。
碰巧服務器上有兩個網卡連到兩個不同的網絡,所以決定用雙IP來解決,方法是讓Tomcat和IIS分別只監聽不同的IP上的80端口,這樣就可以相安無事,同時啟動兩個Web Server。
假定兩個IP為:192.168.89.133, 10.200.200.200。讓Tomcat監聽192.168.89.133, IIS監聽10.200.200.200
方法如下:
1、在TOMCAT的server.xml文件的Connector 節點上,加上address="192.168.89.133",如:
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" address="192.168.89.133" />
注:如果是Apache即httpconf設置listen 192.168.89.133:80
2、在Windows2003操作系統中,經如下設置,使IIS只監聽一個ip
到WIN2003的CD下的 support/tools/Support.cab。解壓出httpcfg.exe文件,COPY到windows/system32/目錄下,
綁定IIS到10.200.200.200,即命令使用IIS的只監聽指定的IP及端口,如:httpcfg set iplisten -i 10.200.200.200
附其余兩個命令
查看綁定: httpcfg query iplisten
刪除綁定: httpcfg delete iplisten -i 10.200.200.200
3、重新啟動機器,保證iis下的ip設置為全局默認(不明,好像重啟即可)
net stop iisadmin /y
net START w3svc
OK,此時可以分別用IP來訪問Tomcat和IIS了, 如果需要本機用域名訪問,可以在hosts文件上加上兩行映射。
如果要映射域名,申請兩上不同的域名映射到這兩個IP上即可。