http://hi.baidu.com/mayalog/blog/item/0cedb76fc4d47dea43169423.html
最近让IIS6支持Jsp和servlet,转载了好多文章,最终得出自己的心得,记录在此。
先说软件环境:Windows 2003 Sp2、IIS6、Tomcat 6.0.29、Jre 6Update21、JK连接器isapi_redirect-1.2.30.dll。(注意:架设环境为干净的Windows 2003,IIS6开启Asp.net 1.1和Asp支持。)第一步,安装好IIS6,打开IE输入localhost,显示“建设中”,表示IIS6运行正常。
第二步,安装Jre,选择“更改目的地文件夹”,这里设置为:“C:\Java”,安装OK。
第三步,安装Tomcat 6,选择安装模式为“FULL”全部安装,会自动识别到Java的安装目录,其他默认安装。安装完成后,可以直接运行Tomcat。在IE里输入localhost:8080,显示如下图,表示安装成功。
![](https://i-blog.csdnimg.cn/blog_migrate/75ab84d327f2f32e5f94119bfbd3d571.png)
第五步,在C:\Tomcat\conf目录下,建立一个注册表文件isapi_redirect.reg,内容如下:(将C:\\tomcat更换成你自己的tomcat安装目录)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"log_file"="C:\\tomcat\\logs\\isapi.log"
"log_level"="debug"
"worker_file"="C:\\tomcat\\conf\\workers.properties"
"worker_mount_file"="C:\\tomcat\\conf\\uriworkermap.properties"
"tomcat_start"="C:\\tomcat\\bin\\tomcat.bat start"
"tomcat_stop"="C:\\tomcat\\bin\\tomcat.bat stop"
"extension_uri"="/jakarta/isapi_redirect.dll"
还在C:\Tomcat\conf目录下,建立workers.properties和uriworkermap.properties两个文件,文件内容如下:uriworkermap.properties内容:(此文件内容根据需要有可能有变化,Tomcat官网上有文档说明)
/*.jsp=ajp13/*.do=ajp13
/*=ajp13 /*增加让servlet等访问*/ (这个让我找了好久,不加这个servlet不支持,必须加上8080端口才能访问)
workers.properties内容:(Tomcat和Java目录按你自己安装的目录修改)
workers.tomcat_home=c:\Tomcat\
workers.java_home=c:\Java ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
第六步,双击注册表文件isapi_redirect.reg,添加到注册表。打开HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0项,检查右边项目中是否包含如下项:
extension_uri /jakarta/isapi_redirect.dll (jakarta为IIS下的虚拟目录)
log_file c:\tomcat\logs\isapi.log (指定JK插件使用的日志文件)
log_level debug (指定日志级别)
worker_file c:\tomcat\conf\workers.properties (指定JK插件的工作文件)
worker_mount_file c:\tomat\conf\uriworkermap.properties (指定JK插件的URL映射)
执行注册表文嘉后,则建立相关项和相关值。
第七步,修改IIS6设置,添加一个新的web服务扩展,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/57706486b6a4630c2e8b350765ac99fa.png)
给“默认网站”添加ISAPI筛选器,筛选器名称为:jakarta,具体如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/a4c2c3869c1e8fa441e41cbc60c14d56.png)
给“默认网站”添加一个别名为:jakarta的虚拟目录,路径为JK连接器所在目录,这里就是c:\tomcat\conf,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/593ad2a81da07115705ef786b2c4ecc0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0da15e9775b87d1f3969772ac408d114.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/0bce6e72b5b60ec9de1abdf81008f34d.jpeg)
运行cmd,输入iisreset,重启IIS6,查看“默认网站”ISAPI筛选器状态,是否为绿色箭头。(有时会没有,但只要网站运行正常就可以。这里为干净的系统环境,所以一般是有绿色箭头的)
第八步,修改C:\Tomcat\conf目录下的server.xml文件。(默认记事本打开,代码一片混乱。找个支持编程语言的记事本,如Notepad++,Editplus等,按xml语言显示,就好看多了)这里主要修改<Host></Host>之间的内容,默认内容:<Host name="localhost" appBase="webapps" unpackWARs="tr " autoDeploy="tr " xmlValidation="false" xmlNamespaceAware="false"></Host>
这里修改为:
<Host name="localhost" appBase="webapps" (×这行不用复制× name可修改为IIS里网站捆绑的域名,appBase这里是webapps,可修改为网站默认目录) unpackWARs="tr " autoDeploy="tr " xmlValidation="false" xmlNamespaceAware="false">(×这行不用复制× 这里可以插入<Alias>test.com</Alias> 语句来绑定域名) <Context path="" docBase="C:\Inetp \wwwroot" reloadable="tr "/>(×这行不用复制× Context语句还有这样设置的<Context path="" reloadable="tr " docBase="C:\Inetp \wwwroot" workDir="C:\Inetp \wwwroot" /> )</Host>
重启Tomcat服务,在IE输入localhost即可访问jsp网页了,servlet也工作正常,共用80端口,至此Tomcat和IIS整合完毕。
一些疑问解答:1、web服务器扩展扩展名也要为jakarta吗?答:网上有文章也是这么写的,但是测试无需如此。ISAPI筛选器和虚拟目录需要名字为:jakarta,因为在注册表文件里写明如此。2、为什么没有在IIS里添加jsp应用程序扩展,设置主页index.jsp?答:不添加jsp扩展,不设置index.jsp,也可以运行。如果怕出现问题,也可以添加。jsp扩展配置如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/426ee0bc31385553c74cb93a1d5d3310.jpeg)
3、如果要添加多个网站,怎么办?答:配置Tomcat的server.xml文件。在<Host></Host>后面再添加多个<Host></Host>即可,请确保在<Engine></Engine>层级之内即可。如下例句:<Host name="www.myweb1.com" appBase="C:\Inetp \wwwroot\myapp1"
unpackWARs="tr " autoDeploy="tr "
xmlValidation="false" xmlNamespaceAware="false"><Context path="" docBase="C:\Inetp \wwwroot\myapp1" reloadable="tr "/> </Host>
<Host name="www.myweb2.com" appBase="C:\Inetp \wwwroot\myapp2"
unpackWARs="tr " autoDeploy="tr "
xmlValidation="false" xmlNamespaceAware="false"><Context path="" docBase="C:\Inetp \wwwroot\myapp2" workDir="C:\Inetp \wwwroot\myapp2" reloadable="tr "/> </Host> 4、看到一些文章还需要配置系统环境,这里怎么没有配置?答:如果使用的JDK,则需要配置系统环境,而JRE则不需要。这里顺带说一下JDK的系统环境配置,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:(Tomcat和JDK安装目录分别为:C:\Tomcat和C:\Java)
CATALINA_HOME:C:\Tomcat
CATALINA_BASE:C:\Tomcat
TOMCAT_HOME:C:\Tomcat
JAVA_HOME:C:\Java
classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
path:%JAVA_HOME%\bin (这个用分号隔开,补充在原来已有的字符串后面) (注意:有的文章在classpath里需要添加servlet.jar,这个文件在JDK安装目录下C:\Java\jre6\lib\ext里,如需要则添加%JAVA_HOME%\jre6\lib\servlet.jar;原有文章里介绍在Tomcat的lib目录下,但是根本没有,只有servlet-api.jar) 5、我的网站开始是Asp的,但增加一些应用是jsp的,IIS能同时支持吗?答:一个网站,可以同时支持,但是要不同的端口号访问。如Asp的是80端口,jsp的是8080端口。只需要安装好Tomcat和jre,设置Tomcat的server.xml文件即可。无需JK连接器相关设置。
最后,这里介绍的是干净的系统环境,如果有问题请大家互相探讨交流,谢谢。
补充:Tomcat设置虚拟目录的方法, 不修改server.xml
转自:http://soly84.blog.51cto.com/153780/52484
![](https://i-blog.csdnimg.cn/blog_migrate/c157fb16a25f4bd775c8f4fa379000c9.gif)
在tomcat文件夹的 conf\catalina\localhost (对于Tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹)增加project .xml文件(该文件名的project要和下面的“path=“/xxx"”的xxx相同)
文件内容:<Context path="/project" reloadable="tr " docBase="E:\javast io\oob" workDir="E:\javast io\oob\work" />docBase是项目文件夹的 web-inf文件夹的上一层目录 workDir是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析 。 一般格式:项目文件夹\work reloadable是指可以重新加载, 一般设置为tr ,方便使用,不需要经常重启Tomcat。以后启动Tomcat,在浏览器输入 http://localhost:8080/project 就能访问该项目的welcome文件。