如何配置Tomcat 5和IIS 5协同工作
2005-03-13 22:25
686 查看
目录
序摘要
准备工作
下载 Java 2 SDK 1.4.2 (或更高版本)
Tomcat 5.0.24 (或更高版本)
Tomcat Web Server 连接器
安装 Java 2 SDK
Tomcat 5
Tomcat JK2 IIS 连接器
设置 Tomcat
Tomcat IIS 连接器
Windows
IIS 设置ISAPI筛选器
创建ISAPI筛选器使用的虚拟目录
重新启动IIS服务
测试 Tomcat
IIS
参考文献
序
最近遇到一个项目,无法避免的需要将IIS和Tomcat协调起来协同工作,同时解析asp和jsp两种脚本语言。查看Tomcat官方HowTo,几经操作并未成功。查看网上讨论,发现中文资料介绍的都是tomcat4.x版本的配置方法,老旧已经不适用。后来对照多篇英文资料,学习、操作之后获得成功。
鉴于讨论此问题的中文资料之匮乏,遂决定将我的配置过程整理,但愿对同好者有所帮助。
此文章论述内容、书写格式仿照了http://virtualict.net/support/kb/iis6-Tomcat5-JK2.html,并引用了其中部分文字。
在我配置、翻阅资料的过程当中,感觉到了IIS、Apache Tomcat、JK2等官方文档对此问题论述的不详尽,甚至有时候感觉到了被误导,以至增加了解决问题的难度,期待与大家讨论。
本人的配置环境
window 2K professional sp4
IIS 5.0
j2sdk1.4.2_04
jakarta-tomcat-5.0.24
jakarta-tomcat-connectors-jk2.0.4
配置过程中涉及的路径如果没有特殊说明,则都不是系统要求,大家可以修改以适应自己机器的环境。
这里是另一个自动安装程序,使用方法本文不做讨论
Isapi redirector jk2.02 Installer - Integrating Tomcat with IIS
摘要
这是一篇讲述如何安装、配置Tomcat 5 Java Servlet & JSP服务到微软IIS 5.0服务器的文章,这篇文章是本人自己配置过程和经验的总结,并推荐了一些给过本人极大帮助的文档。掌握方法的朋友只需要15分钟就能完成整个配置过程。
准备工作
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-311645101.gif)
Microsoft Windows 2000 professional, IIS5 已经安装并工作正常
需要下载的软件:
Java 2 Standard Edition Software Development Kit 1.4.2.04 (或更高版本)
Jakarta Tomcat 5.0 (或更高版本)
jakarta Tomcat Connectors-JK2.0.4(或更高版本)
下载
由于版本更新的问题,这里没有给出软件的准确下载地址,但根据下面的链接用户可以很容易找到所需软件的确切地址。
Java 2 SDK 1.4.2 (或更高版本)
来自 java.sun.com/downloads/ 选择 the J2SE 1.4.2 (或更高版本) All platforms![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-311645103.gif)
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-311645105.gif)
然后按照提示进入文件列表页面,下载文件
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-311645107.gif)
Tomcat 5.0.24 (或更高版本)
来自Apache Jakarta的for Win的编译版本。Tomcat 5.x 应该在页面的底部。写此文章的时候Tomcat已经发布了5.0.25版,不过配置过程是一样的。![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-311645109.gif)
选择 5.0.24 可执行文件 (或更高版本)
Tomcat Web Server 连接器
同样在Apache Jakarta下载页面。Tomcat Web Server 连接器就在Tomcat 5.0.24链接的下面![](http://blog.csdn.net/Develop/ArticleImages/28/28471<br/>4000<br/>/CSDN_Dev_Image_2004-5-3116451011.gif)
选择 JK2 编译版本
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451013.gif)
选择 win32, 然后选择下载jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451015.gif)
注意 这个目录列表显示的文件名称被截断,所以你需要观察浏览器状态栏中的提示,确认你准备下载的文件应该是以"...iis.zip"为结尾的
安装
建议大家把下载的文件放在同一个文件夹里。![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451017.gif)
Java 2 SDK
运行j2sdk-1_4_2_04-windows-i586-p.exe 按照提示安装![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451019.gif)
可以更改安装路径到你习惯的地方
Tomcat 5
运行jakarta-tomcat-5.0.24.exe 按照提示安装.![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451021.gif)
如果要改变安装路径,可以在这个步骤操作。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451023.gif)
可以更改至其它路径,如 C:/Tomcat 5.0
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451025.gif)
设定密码,妥善保管密码,不推荐空密码。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451027.gif)
这个步骤是选择本地机器的jdk路径,一般情况下,安装文件会自动搜索并显示,如果没有正确显示,也可以手动更改。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451029.gif)
成功安装后,程序会提示启动tomcat并查看readme文档。
注意: 启动Tomcat之前要确定系统没有其它服务已经占用8080端口(Tomcat默认端口)和8009端口( Tomcat's AJP13 连接器端口)
Tomcat正常启动后会在系统栏加载图标
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451031.gif)
在图标上右键鼠标可以看到一些设置项目
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451033.gif)
点击Configure...看到如下显示,选择Startup type为automatic自动启动。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451035.gif)
Tomcat JK2 IIS 连接器
解压缩jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip得到如下文件夹![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451037.gif)
进入/bin/后可见
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451039.gif)
剪切/复制isapi_redirector2.dll 文件到Tomcat's bin/目录中
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451041.gif)
新建目录win32/i386/ 并粘贴isapi_redirector2.dll。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451043.gif)
记住这个路径,稍后配置IIS的时候还会用到。这个路径不是系统要求的,可改变!
现在可以删除jakarta-tomcat-connectors-jk2.0.4-win32-IIS目录,这里面的文件已经没用了。实际上在jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip中我们只用到了isapi_redirector2.dll一个文件
设置
Tomcat
进入 Tomcat's conf/ 文件夹.![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451045.gif)
要支持 JK2 连接器, 你可能需要修改jk2.properties文件. 大多数情况下保留此文件的默认状态即可,本人的多次配置过程都没有修改过这个文件。
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED ## WHEN YOU EDIT THE FILE. ## COMMENTS WILL BE _LOST_ ## DOCUMENTATION OF THE FORMAT IN JkMain javadoc. # Set the desired handler list # handler.list=apr,request,channelJni # # Override the default port for the socketChannel # channelSocket.port=8019 # Default: # channelUnix.file=${jkHome}/work/jk2.socket # Just to check if the the config is working # shm.file=${jkHome}/work/jk2.shm # In order to enable jni use any channelJni directive # channelJni.disabled = 0 # And one of the following directives: # apr.jniModeSo=/opt/apache2/modules/mod_jk2.so # If set to inprocess the mod_jk2 will Register natives itself # This will enable the starting of the Tomcat from mod_jk2 # apr.jniModeSo=inprocess现在轮到workers2.properties,这个文件需要自己创建,内容如下(附件中有一个copy)
红色的这行要注意了,把"C:/Tomcat 5.0/work/"这个路径修改成你自己的路径,而jk2.shm这个文件不用担心,它现在不存在也没有关系,它会在需要的时候自动被创建。
[shm:] info=Shared memory file. Required for multiprocess servers file=C:/Tomcat 5.0/work/jk2.shm size=1000000 [channel.socket:localhost:8009] info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol tomcatId=localhost:8009 [uri:/jsp-examples/*] info=JSP examples, map requests for all JSP pages to Tomcat. context=/jsp-examples [uri:/servlets-examples/*] info=Servlet examples, map requests for all servlets to Tomcat. context=/servlets-examples看过网上的讨论,有些朋友配置过程中的问题就出现在这里,所以多讲几句:
这个文件中指定了解析jsp的目录,也就是"http://xxxxx/dir/aa.jsp"这个url中的"dir",比如我们的网站中要增加/dir/这个路径,并使这个路径下面的jsp能够被解析,那你就需要在workers2.properties文件中增加这样一段话
[uri:/dir/*]
info=JSP examples, map requests for all JSP pages to Tomcat.
context=/dir
并且在Tomcat的工作目录中建立"/dir/"这个目录。比如我们到现在为止,Tomcat的工作目录是默认的"/ROOT/",那我们就需要在"/ROOT/"路径下新建"/dir/"目录,并放置aa.jsp文件。重起服务之后,我们才能用"http://xxxxx/dir/aa.jsp"这样的url来访问aa.jsp文件。
过去有的朋友误以为"dir"是IIS工作目录中的路径,运行时无法显示页面,或者jsp代码没有解析,其实就是这个路径设置的问题。
值得注意的是如果IIS和Tomcat的工作目录同时存在"/dir/",那么服务器会把此路径连接至Tomcat处理。
当你的Tomcat和IIS一起正常工作后,你可以随时修改这个文件以增加新的目录来支持jsp的运行。
这里是关于worker2.properties这个文件更多的规则。
右键系统栏中的Tomcat服务图标,选择"Stop service",关闭服务。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451047.gif)
在"管理工具-服务"中找到"Apache Tomcat"服务,并确定它已经启动。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451049.gif)
Tomcat IIS 连接器
你已经放置isapi_redirector2.dll在你的路径下,本例子中是C:/Tomcat 5.0/bin/win32/i386
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451051.gif)
现在需要添加一些必要的注册信息到注册表,redirector被IIS调用时会读到。建立一个.reg文件
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/2.0]
"workersFile"="C://Tomcat 5.0//conf//workers2.properties"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"logLevel"="debug"
"serverRoot"="C://Tomcat 5.0//"
在记事本中写入上面的文字,并保存为 reg.reg (附件中有一个copy)
双击.reg文件
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451053.gif)
成功则显示如下:
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451055.gif)
注册表中可以看到:
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451057.gif)
现在可以删除这个.reg文件了
Windows
添加两个系统环境变量,他们是CATALINA_HOME和JAVA_HOME.在桌面上右键"我的电脑",选择"属性-高级-环境变量"
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451059.gif)
CATALINA_HOME 指向你的Tomcat安装目录,本例子中是 C:/Tomcat 5.0
JAVA_HOME 指向Java SDK安装目录,本例子中是 C:/j2sdk1.4.2_04
IIS
安装ISAPI筛选器
进入ISAPI筛选器 界面![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451061.gif)
点击 添加 按钮,键入一个新的筛选器名称,名称可以随意起
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451063.gif)
再点击 浏览 按钮,选择isapi_redirector2.dll。本例子中是
C:/Tomcat 5.0/bin/win32/i386/isapi_redirector2.dll
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451063.gif)
点击确定。IIS重起之后新的筛选器才会生效,我们先不重起,稍后再做。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451067.gif)
点击确定保存修改,退出站点属性对话框。
注意Note: 你可以选择特定的站点进行设置,增加筛选器,也可以对所有站点同时增加筛选器
在IIS树中右键左侧的"计算机",调出属性,选择"编辑"调出主属性对话框
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451069.gif)
调出主属性对话框,添加筛选器。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451071.gif)
创建筛选器所需要的虚拟目录
选择需要加载Tomcat服务站点,右键选择新建,再选择虚拟目录![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451073.gif)
创建虚拟目录,别名为jakarta。注意这个名字是固定值,不要拼写错误!
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451075.gif)
指定目录为isapi_redirector2.dll所在目录. 本例子中是 C:/Tomcat 5.0/bin/win32/i386
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451077.gif)
选择执行,使之可用
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451079.gif)
成功建立虚拟目录之后,你应该在管理其中看到如下显示。
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451081.gif)
重新启动IIS服务
选择计算机,右键,选择重新启动IIS![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451083.gif)
选择重新启动Internet服务,点击确定
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451085.gif)
操作系统中管理工具-事件查看器中可以查看服务的启动情况,isapi_redirector2.dll会把它的出错信息写入事件查看器,而不是像较早版本那样写入一个文件中。
启动之后在IIS控制台,站点属性中的ISAPI筛选器的列表中,可以看到Tomcat连接器的状态,有绿色向上箭头就对了
![](http://blog.csdn.net/Develop/ArticleImages/28/28471/CSDN_Dev_Image_2004-5-3116451087.gif)
测试
Tomcat
首先测试Tomcat安装的例子能否运行,使用Tomcat自己的服务器和端口测试服务器中的servlets: http://localhost:8080/servlets-examples/
测试服务器中的JSP: http://localhost:8080/jsp-examples/
测试Tomcat管理界面: http://127.0.0.1:8080/admin/
IIS
现在我们访问IIS中的同一个例子,来测试连接器是否工作,注意修改地址和端口跟你的IIS相符合http://localhost/servlets-examples/
http://localhost/jsp-examples/
如果一切正常,则你已经使得IIS5在Tomcat JK2 IIS 连接器的工作下可以解析jsp&servlet程序了,祝贺你。
并乐意得到你的经验和对此文章的反馈。(zself@vip.cc163.com)
参考文献
JK Documentation(iishowto)http://virtualict.net/support/kb/iis6-Tomcat5-JK2.html
http://info.cc163.net/NewIIS5+TomcatHowTo/NewIIS5+Tomcat5HowTo.htm
相关文章推荐
- 如何配置Tomcat 5和IIS 5协同工作
- 如何使用JK2连接器配置Tomcat 5.0.x和IIS 5.0协同工作
- 如何配置Tomcat 5和IIS 5协同工作
- Tomcat6.0.x怎样重新配置他的工作路径(虚拟路径)或如何在地址栏输入http://localhost/xxx直接进入我指定项目的文件夹
- IIS与TOMCAT协同工作---在IIS下运行JSP页面
- 如何配置 Apache TomCat 与 CE RAS 9 协同工作
- IIS与TOMCAT协同工作---在IIS下运行JSP页面
- 如何配置 Apache TomCat 与 CE RAS 9 协同工作
- 配置apache+tomcat的协同工作
- Windows 7下如何安装和配置IIS 7和ASP
- 如何配置jdk 与tomcat
- 如何在 IIS 中为域身份验证配置 FTP 文件夹和权限
- Nova 组件如何协同工作 - 每天5分钟玩转 OpenStack(24)
- 如何配置一个高效的 Mac 工作环境
- 工作积累之在IIS上配置ASP.NET
- 使用Nginx如何配置Tomcat访问日志记录真实IP
- 手把手图文教你eclipse下如何配置tomcat
- Tomcat——Tomcat中JVM内存溢出及合理配置及maxThreads如何配置
- 如何在Ubuntu上配置Tomcat集群
- Tomcat 如何设置系统配置参数及加载