这两天在服务器上同时部署了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上即可。