這兩天在服務(wù)器上同時(shí)部署了Tomcat和IIS,由于兩個(gè)Web server沒(méi)有任何關(guān)系,不想采用集成的方法,因?yàn)橥ㄟ^(guò)IIS分發(fā)請(qǐng)求到Tomcat性能肯定有影響,而且還是按URL pattern來(lái)轉(zhuǎn)發(fā),感覺(jué)很不爽。
碰巧服務(wù)器上有兩個(gè)網(wǎng)卡連到兩個(gè)不同的網(wǎng)絡(luò),所以決定用雙IP來(lái)解決,方法是讓Tomcat和IIS分別只監(jiān)聽(tīng)不同的IP上的80端口,這樣就可以相安無(wú)事,同時(shí)啟動(dòng)兩個(gè)Web Server。
假定兩個(gè)IP為:192.168.89.133, 10.200.200.200。讓Tomcat監(jiān)聽(tīng)192.168.89.133, IIS監(jiān)聽(tīng)10.200.200.200
方法如下:
1、在TOMCAT的server.xml文件的Connector 節(jié)點(diǎn)上,加上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設(shè)置listen 192.168.89.133:80
2、在Windows2003操作系統(tǒng)中,經(jīng)如下設(shè)置,使IIS只監(jiān)聽(tīng)一個(gè)ip
到WIN2003的CD下的 support/tools/Support.cab。解壓出httpcfg.exe文件,COPY到windows/system32/目錄下,
綁定IIS到10.200.200.200,即命令使用IIS的只監(jiān)聽(tīng)指定的IP及端口,如:httpcfg set iplisten -i 10.200.200.200
附其余兩個(gè)命令
查看綁定: httpcfg query iplisten
刪除綁定: httpcfg delete iplisten -i 10.200.200.200
3、重新啟動(dòng)機(jī)器,保證iis下的ip設(shè)置為全局默認(rèn)(不明,好像重啟即可)
net stop iisadmin /y
net START w3svc
OK,此時(shí)可以分別用IP來(lái)訪問(wèn)Tomcat和IIS了, 如果需要本機(jī)用域名訪問(wèn),可以在hosts文件上加上兩行映射。
如果要映射域名,申請(qǐng)兩上不同的域名映射到這兩個(gè)IP上即可。