碰到.NET2.0程序参杂着JSP程序,IIS7已经配置域名,而tomcat端口8080,使用
无法访问。于是到网上找到IIS7整合Tomcat6的方法:参考
略作修改
假设主机域名为:(也可以是localhost)
需求一:假如${TOMCAT_HOME}/webapps下有一个名为myjspapp的web目录(或者myjspapp.war),我们想以访问myjspapp项目
步骤1:
下载isapi_redirect-版本号.dll文件作为IIS与TOMCAT的接口,我下载的是isapi_redirect-1.2.28.dll下载地址:然后把该文件放入${TOMCAT_HOME}/conf下步骤2:
建立如下注册表文件并执行Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0] "log_file"="E:\\tomcat6.0\\logs" "log_level"="debug" "worker_file"="E:\\tomcat6.0\\conf\\workers.properties" "worker_mount_file"="E:\\tomcat6.0\\conf\\uriworkermap.properties" "tomcat_start"="E:\tomcat6.0\\bin\\tomcat.bat start" "tomcat_stop"="E:\tomcat6.0\\bin\\tomcat.bat stop" "extension_uri"="/jakarta/isapi_redirect-1.2.28.dll"
注意修改与tomcat相关的路径(在我的系统中,tomcat安装目录为“E:\tomcat6.0”)
步骤3:
在tomcat\conf下建立两个文件 文件1:workers.properties# 工作站的名称任意,但须注意前后一致,多个工作站以“,”分割 worker.list=ajp13w # 工作站的类型:ajp13是IIS与Tomcat通讯协议的名称 worker.ajp13w.type=ajp13 # 注意此处的host需要与主机或者设置域名的名称一致 worker.ajp13w.host=www.mydomain.cn
# worker.ajp13w.host=localhost # ajp13协议的通讯端口 worker.ajp13w.port=8009 # 负载因子 worker.worker1.lbfactor=1
文件2:uriworkermap.properties
# 当前域名下上下文路径为你JSP项目名称myjspapp的请求,转发给ajp13w工作站处理 /myjspapp/*=ajp13w /myjspapp=ajp13w # 当前域名下的所有请求都转发给ajp13w工作站处理 # /*=ajp13w # 当前域名下,所有.jsp的请求都转发给ajp13w工作站处理 # /*.jsp # 当前域名下,除了.html的请求,其他都转发给ajp13w工作站处理 # !/*.html
步骤4:
在IIS管理器中的“ISAPI和CGI限制”里面右键添加isapi_redirect-1.2.28.dll,并设定“允许执行扩展路径”,描述名可取jakarta步骤5:
在网站里面的"Default Web Site"(或者你自己新建的网站,以下的DefaultWebSite都可依据具体情况而改)添加应用程序.程序名应对应于在注册表中extension_uri的设置.此处为"jakarta",然后将物理路径指向isapi_redirect.dll所在的目录。
如果测试配置的拥有权限没有成功,则可以指定系统管理员为其专用用户。
步骤6:
点击这个应用程序(这个站点),进入处理程序映射,点击右手边的"编辑处理程序权限...",把"执行"项勾打上.。
步骤7:
接着单击Default Web Site,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择isapi_redirect-1.2.28.dll。
步骤8:(已经上边的uriworkermap.properties的配置而定,自选)
在"Default Web Site"--》双击“处理程序映射”--右上角--》添加映射脚本,*.jsp 都映射到isapi_redirect.dll处理。
步骤9:
重启IIS服务器和Tomcat。访问注意:这种配置方法,不需要按传统的方法给tomcat配置域名,即不用改动原来的server.xml,在上面提到的workers.properties里面配置就可以了。