同一台机器上装IIS6和tomcat6互不影响
tomcat6+iis6为例说明下:
方法一IIS6做前端代理
先到apache网站( http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/v1.2.4/bin/win32/isapi_redirect.dll )下载一个isapi_redirect.dll //注意,可能版本不同,我下载的是isapi_redirect.dll的1.2.4版本。
在tomcat6根目录下建立jakarta文件夹,并把isapi_redirect.dll文件拷到jakarta文件夹下。
下面三个文件(workers.properties文件, uriworkermap.properties文件,isapi_redirect.reg文件)复制到 tomcat6安装目录下的 conf 文件夹里。
vworkers.properties文件
workers.tomcat_home=D:/Program Files/Apache Software Foundation/Tomcat 6.0
#让mod_jk模块知道TOMCAT
workers.java_home=C:/Program Files/Java/jdk
#让mod_jk模块知道JDK
ps=/
#指定文件路径分隔符
worker.list=web
worker.web.port=8009
worker.web.host=localhost
worker.web.type=ajp13
worker.web.lbfactor=1
uriworkermap.properties文件:
/*.jsp=web
/*.do=web
#do文件,是struts用的
/应用名/*=web
isapi_redirect.reg //这是一个注册表导入文件,要双击导入到注册表中
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]
"log_file"="D://Program Files//Apache Software Foundation//Tomcat 6.0//logs//isapi_redirect.log"
"log_level"="debug"
"worker_file"="D://Program Files//Apache Software Foundation//Tomcat 6.0//conf//workers.properties"
"worker_mount_file"="D://Program Files//Apache Software Foundation//Tomcat 6.0//conf//uriworkermap.properties"
"extension_uri"="/jakarta/isapi_redirect.dll"
在相似的注册表文件中出现下面这两行,
"tomcat_start"="D://tomcat//bin//tomcat.bat start"
"tomcat_stop"="D://tomcat//bin//tomcat.bat stop"
可是我看到tomcat6没有相应的bat文件,所以我没有加在注册表文件中,最后能使用。
当然以上的注册表导入文件夹可以通过修改注册表完成
创建HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0项;然后在1.0项下建立相应的项及值。
接下来修改IIS配置
右键“我的电脑”-->-管理->服务和应用程序-->Internet信息服务(IIS),右键点击默认站点的属性页面,选择ISAPI过滤器选项卡,看看有没名为Jakarta的Jakarta Isapi Redirector,如果没有的话,就添加一个筛选器,名为jakarta,可执行文件选择刚才我们在tomcat6根目录下建立jakarta目录下的isapi_redirector.dll,确定可用。
再在“此网站”上右键,选择“新建”->“虚拟目录”,别名填jakarta, 下一步,路径选为你的isapi_redirector.dll存放的目录(我的是C:/Tomcat6/conf), 下一步,权限中记得把“执行”那项打勾,好了,完成。 应用程序扩展名映射:在主目录里点配置,在跳出的窗口应用程序配置中增加.jsp应用程序扩展名映射, 可执行文件指向isapi_redirect.dll文件,动作限制为GET,HEAD,POST,DEBUG
打开IIS管理端,点击WEB扩展服务,新建一个扩展服务,其名称建议为Jakarta,浏览刚才我们在tomcat6根目录下建立jakarta目录下的isapi_redirector.dll ,选择isapi_redirect.dll。并允许这个服务的运行。
现在修改tomcat的监听端口,修改tomcat目录下conf目录下的server.xml中的监听端口为非80
<Connector executor="tomcatThreadPool" port="8082" protocol="HTTP/1.1"
redirectPort="8443"
acceptCount="100"
connectionTimeout="5000"
disableUploadTimeout="true"
URIEncoding="UTF-8"
compression="on"
compressableMimeType="text/javascript,application/x-javascript,text/html,text/xml" />
并确保AJP的端口为8009要与vworkers.properties文件中的指定的端口(worker.web.port=8009)相同
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
最好停tomcat6 IIS6,然后启动时需要先启动tomcat6 然再启动IIS
方法2.多IP让IIS6和tomcat6监听指定的IP端口
IIS 默认是监听所有IP上的 80 端口的,这就需要通过配置来处理了。首先安装Windows Support Tools(该包在2003安装盘的根目录下SUPPORT/TOOLS/SUPTOOLS.MSI 双击安装),这里面包括httpcfg.exe。
httpcfg.exe -h
查看当前IP绑定
httpcfg query iplisten
IIS 默认是绑定在 0.0.0.0 上的,所以要通过下面的指令
删除IIS对0.0.0.0的绑定
httpcfg.exe delete iplisten -i 0.0.0.0
重新指定要绑定的IP
httpcfg.exe set iplisten -i 192.168.1.88
重启IIS
net stop w3svc
net start w3svc
再netstat -an -p tcp 看一下,应该OK了。
可能需要重启一下系统,才起作用。
让tomcat监听指定的端口需要加上address="192.168.0.1"
<Connector executor="tomcatThreadPool" port="8082" protocol="HTTP/1.1"
address="192.168.0.1"
redirectPort="8443"
acceptCount="100"
connectionTimeout="5000"
disableUploadTimeout="true"
URIEncoding="UTF-8"
compression="on"
compressableMimeType="text/javascript,application/x-javascript,text/html,text/xml" />