您可以在这里快速查找:


 
您的位置: 编程学习 > C++/VC > 200601
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

如何配置Tomcat 5和IIS 5协同工作

zsrui

如何配置Tomcat 5和IIS 5协同工作

2004.5 臧士睿 qq:10743383

网络转载请保留作者声明,盈利性印刷刊物转载请联系 zself@vip.cc163.com

所有内容:New IIS5+Tomcat5 HowTo


目录

  1. 摘要
  2. 准备工作
  3. 下载
    1. Java 2 SDK 1.4.2 (或更高版本)
    2. Tomcat 5.0.24 (或更高版本)
    3. Tomcat Web Server 连接器
  4. 安装
    1. Java 2 SDK
    2. Tomcat 5
    3. Tomcat JK2 IIS 连接器
  5. 设置
    1. Tomcat
    2. Tomcat IIS 连接器
    3. Windows
    4. IIS
      1. 设置ISAPI筛选器
      2. 创建ISAPI筛选器使用的虚拟目录
      3. 重新启动IIS服务
  6. 测试
    1. Tomcat
    2. IIS
  7. 参考文献

 


最近遇到一个项目,无法避免的需要将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分钟就能完成整个配置过程。

准备工作

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

 

然后按照提示进入文件列表页面,下载文件


Tomcat 5.0.24 (或更高版本)

来自Apache Jakarta的for Win的编译版本。Tomcat 5.x 应该在页面的底部。写此文章的时候Tomcat已经发布了5.0.25版,不过配置过程是一样的。

选择 5.0.24 可执行文件 (或更高版本)


Tomcat Web Server 连接器

同样在Apache Jakarta下载页面。Tomcat Web Server 连接器就在Tomcat 5.0.24链接的下面

选择 JK2 编译版本

选择 win32, 然后选择下载jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip

注意 这个目录列表显示的文件名称被截断,所以你需要观察浏览器状态栏中的提示,确认你准备下载的文件应该是以"...iis.zip"为结尾的


安装

建议大家把下载的文件放在同一个文件夹里。

Java 2 SDK

运行j2sdk-1_4_2_04-windows-i586-p.exe 按照提示安装

可以更改安装路径到你习惯的地方

 

Tomcat 5

运行jakarta-tomcat-5.0.24.exe 按照提示安装.

如果要改变安装路径,可以在这个步骤操作。

可以更改至其它路径,如 C:\Tomcat 5.0

设定密码,妥善保管密码,不推荐空密码。

这个步骤是选择本地机器的jdk路径,一般情况下,安装文件会自动搜索并显示,如果没有正确显示,也可以手动更改。

成功安装后,程序会提示启动tomcat并查看readme文档

注意: 启动Tomcat之前要确定系统没有其它服务已经占用8080端口(Tomcat默认端口)和8009端口( Tomcat´s AJP13 连接器端口)

Tomcat正常启动后会在系统栏加载图标

在图标上右键鼠标可以看到一些设置项目

点击Configure...看到如下显示,选择Startup type为automatic自动启动。


Tomcat JK2 IIS 连接器

解压缩jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip得到如下文件夹

进入\bin\后可见

剪切/复制isapi_redirector2.dll 文件到Tomcat´s bin\目录中

新建目录win32\i386\ 并粘贴isapi_redirector2.dll

记住这个路径,稍后配置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\ 文件夹.

要支持 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",关闭服务。

在"管理工具-服务"中找到"Apache Tomcat"服务,并确定它已经启动。


Tomcat IIS 连接器

你已经放置isapi_redirector2.dll在你的路径下,本例子中是
C:\Tomcat 5.0\bin\win32\i386

现在需要添加一些必要的注册信息到注册表,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文件

成功则显示如下:

注册表中可以看到:

 

现在可以删除这个.reg文件了


Windows

添加两个系统环境变量,他们是CATALINA_HOMEJAVA_HOME.

在桌面上右键"我的电脑",选择"属性-高级-环境变量"

CATALINA_HOME 指向你的Tomcat安装目录,本例子中是 C:\Tomcat 5.0

JAVA_HOME 指向Java SDK安装目录,本例子中是 C:\j2sdk1.4.2_04


IIS

安装ISAPI筛选器

进入ISAPI筛选器 界面