为了做点有意义的事,开始研究自己的课题,IIS7下的万能支持,前段时间完成了PHP,今天又加入了JSP
过程如下
IIS和TOMCAT的默认端口不用改变,使用原有的80和8080即可
需要下载isapi_redirect-1.2.26.dll文件做为与IIS与TOMCAT的接口,找这个文件就找了好长时间
提供地址如下 http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/
可以把该文件放入TOMCAT安装目录的conf下
并且建立注册表文件 执行,C:/tomcat 是tomcat主目录
1: Windows Registry Editor Version 5.00
2: [HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]
3: "log_file"="C://tomcat6//logs//isapi.log"
4: "log_level"="debug"
5: "worker_file"="C://tomcat6//conf//workers.properties"
6: "worker_mount_file"="C://tomcat6//conf//uriworkermap.properties"
7: "tomcat_start"="C://tomcat6//bin//tomcat.bat start"
8: "tomcat_stop"="C://tomcat6//bin//tomcat.bat stop"
9: "extension_uri"="/jakarta/isapi_redirect.dll"
在tomcat/conf下建立两个文件
workers.properties
1: workers.tomcat_home=c:/inetpub/tools/Tomcat6/
2: workers.java_home=c:/inetpub/tools/JAVA/JDK6/
3: ps=/
4: worker.list=ajp13
5: worker.ajp13.port=8009
6: worker.ajp13.host=localhost
7: worker.ajp13.type=ajp13
8: worker.ajp13.lbfactor=1
uriworkermap.properties
1: # uriworkermap.properties - IIS
2: #
3: # This file provides sample mappings for example ajp13w
4: # worker defined in workermap.properties.minimal
5: # The general sytax for this file is:
6: # [URL]=[Worker name]
7:
8: /servlets-examples/*=ajp13w
9:
10: # Optionally filter out all .jpeg files inside that context
11: # For no mapping the url has to start with exclamation (!)
之后开始对IIS进行配置,IIS管理器中的ISAPI和CGI限制 里面把isapi_redirect.dll添加进去,并设为允许完成这一步之后,再在网站里面的"Default Web Site"添加应用程序.程序名应对应于在注册表中extension_uri的设置.此处为"jakarta",然后将物理路径指向isapi_redirect.dll所在的目录.完成之后点击这个应用程序,进入处理程序映射,点击右手边的"编辑处理程序权限...",把"执行"项勾打上.
随后为站点添加ISAPI筛选器以便Connector能截取到URL请求.点击"Default Web Site" -> "ISAPI 筛选器" ,把isapi_redirect.dll添加进去,名字就叫jsp
需要在"Default Web Site"添加映射脚本,*.jsp 都映射到isapi_redirect.dll处理
由此便完成了IIS7下TOMCAT6的设置,原理IIS7发现JSP的页面就交给isapi_redirect.dll处理,isapi_redirect.dll传递给tomcat
碰到.NET2.0程序参杂着JSP程序,IIS7已经配置域名,而tomcat端口8080,使用http://localhost:8080/myapp
无法访问。于是到网上找到IIS7整合Tomcat6的方法:参考
http://blog.csdn.net/liuyi1985/archive/2009/04/02/4045031.aspx 略作修改
假设主机域名为:www.mydomain.com(也可以是localhost)
需求一:假如${TOMCAT_HOME}/webapps下有一个名为myjspapp的web目录(或者myjspapp.war),我们想以http://www.mydomain.com/myjspapp访问myjspapp项目
步骤1:
下载isapi_redirect-版本号.dll文件作为IIS与TOMCAT的接口,我下载的是isapi_redirect-1.2.28.dll
下载地址:http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/
然后把该文件放入${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。访问http://www.mydomain.com/myjspapp
注意:这种配置方法,不需要按传统的方法给tomcat配置域名,即不用改动原来的server.xml,在上面提到的workers.properties里面配置就可以了。
workers.properties
workers.tomcat_home=D:/apache-tomcat-7.0.0/
workers.java_home=C:/Program Files/Java/jdk1.6.0_21
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
uriworkermap.properties
/*.jsp=ajp13
/*.do=ajp13
/*.action=ajp13
/servlet/*=ajp13