`
fanjava
  • 浏览: 240135 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

配置Tomcat5和IIS5协同工作

阅读更多

目录

  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筛选器 界面

点击 添加 按钮,键入一个新的筛选器名称,名称可以随意起

IIS Add ISAPI Filter dialog

再点击 浏览 按钮,选择isapi_redirector2.dll。本例子中是
C:\Tomcat 5.0\bin\win32\i386\isapi_redirector2.dll

点击确定。IIS重起之后新的筛选器才会生效,我们先不重起,稍后再做。

点击确定保存修改,退出站点属性对话框

注意Note: 你可以选择特定的站点进行设置,增加筛选器,也可以对所有站点同时增加筛选器
在IIS树中右键左侧的"计算机",调出属性,选择"编辑"调出主属性对话框

调出主属性对话框,添加筛选器。


创建筛选器所需要的虚拟目录

选择需要加载Tomcat服务站点,右键选择新建,再选择虚拟目录

创建虚拟目录,别名为jakarta。注意这个名字是固定值,不要拼写错误!

指定目录为isapi_redirector2.dll所在目录. 本例子中是 C:\Tomcat 5.0\bin\win32\i386

选择执行,使之可用

成功建立虚拟目录之后,你应该在管理其中看到如下显示。


重新启动IIS服务

选择计算机,右键,选择重新启动IIS

选择重新启动Internet服务,点击确定

操作系统中管理工具-事件查看器中可以查看服务的启动情况,isapi_redirector2.dll会把它的出错信息写入事件查看器,而不是像较早版本那样写入一个文件中。

启动之后在IIS控制台,站点属性中的ISAPI筛选器的列表中,可以看到Tomcat连接器的状态,有绿色向上箭头就对了


测试

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程序了,祝贺你。
并乐意得到你的经验和对此文章的反馈

分享到:
评论

相关推荐

    集成Tomcat5+IIS5需要的所有文件和录像

    集成Tomcat 5和IIS 5的主要目的是利用IIS的静态内容处理能力(如HTML、CSS、JavaScript文件)以及Tomcat的动态内容处理能力(如Java应用、JSP)。这种集成方法可以提高系统性能,因为静态文件由IIS直接处理,而动态...

    tomcat5.5+iis6+jkconnetctor简单配置飞扬清风

    同时,需要配置IIS的httpd.conf或worker.properties文件,定义连接器的工作方式和Tomcat服务器的信息。 4. **配置Tomcat**:在Tomcat的conf/server.xml文件中,需要添加AJP(Apache JServ Protocol)监听器,通常是...

    Win2003中apache2整合tomcat5和iis6文档

    整个过程虽然复杂,但通过逐步配置,可以实现IIS、Apache和Tomcat的无缝集成,让它们在同一个服务器上协同工作,满足多种Web服务需求。需要注意的是,配置过程中可能会遇到各种问题,如端口冲突、路径设置错误等,...

    tomcat_iis_connector工具

    这个工具的主要目的是实现这些不同Web服务器之间的协同工作,允许用户利用IIS的管理和静态内容处理能力,同时借助Tomcat处理Java应用程序和动态内容。 IIS是微软公司开发的一款强大的Web服务器,它提供了多种网络...

    iis7.5与tomcat7整合

    【IIS7.5与Tomcat7整合】的目的是在一个服务器上同时运行这两个服务,使得IIS能够处理静态内容,而动态内容(如Java JSP)由Tomcat...正确完成这些步骤后,可以实现IIS和Tomcat的协同工作,提供更高效、灵活的Web服务。

    Tomcat和IIS整合时conf文件夹中需要新增和修改的文件参考

    完成以上步骤后,IIS将能够将动态请求转发给Tomcat处理,而静态资源则由IIS直接提供,实现两者的高效协同工作。在实际操作中,可能还需要根据具体的系统环境和应用需求进行微调,确保系统的稳定性和性能。

    IIS6和Tomcat6整合

    为了解决这个问题,我们需要配置IIS和Tomcat的协同工作,确保IIS能够正确地将请求转发给Tomcat处理。IIS可以通过ISAPI筛选器或者URL重写模块将特定类型的请求转发到Tomcat,而Tomcat则需要知道如何处理这些请求。 ...

    IIS与Tomcat整合

    IIS与Tomcat整合主要是通过配置IIS来代理或转发特定请求到Tomcat服务器,从而实现两者在同一服务器上协同工作的目的。这种整合方式非常适合那些希望逐步将现有ASP应用迁移至JSP平台的企业。 #### 三、准备工作 1. ...

    win2003下Tomcat5(多站点)和IIS6整合

    总之,这种整合方式使得Windows Server 2003上的IIS和Tomcat能够协同工作,充分利用各自的优点,提供稳定高效的Web服务。需要注意的是,配置过程中应保持细心,避免出现路径错误、端口冲突等问题,同时确保安全设置...

    Tomcat与IIS整合笔记

    本文将深入探讨如何在Windows XP环境下整合Apache Tomcat与Microsoft IIS,以便实现Java Web应用与.NET应用在同一服务器上的协同工作。标题“Tomcat与IIS整合笔记”揭示了我们的主要讨论点,而描述中提到的环境——...

    Tomcat-IIS整合

    5. **测试与调试**:重启IIS和Tomcat服务,通过IIS访问原本由Tomcat处理的Java Web应用,如果一切配置正确,应该能够正常运行。 6. **安全考虑**:在生产环境中,务必考虑安全因素,例如限制ISAPI筛选器只转发特定...

    IIS与TOMCAT集成文档

    本文将详细介绍如何将微软的Internet Information Services(IIS)与Apache Tomcat服务器集成,使得IIS能够处理静态内容,而Tomcat负责处理动态内容,如Java Servlets和JSP。 首先,集成工作前的准备至关重要。确保...

    Windows 2003上整合IIS6和Tomcat5

    本文将详细介绍如何在Windows 2003服务器上配置IIS 6和Tomcat 5.0.14,并确保它们能够协同工作。 #### 环境准备 在开始之前,请确保已经安装了以下组件: - **操作系统**: Windows 2003 Server - **IIS 6**: 需要...

    jakarta iis tomcat整合

    在IT行业中,尤其是在服务器管理和Web应用部署领域,整合不同的组件以优化性能和提供更好的服务是常见的实践。...在实施过程中,需要仔细配置每个环节,确保所有组件协同工作,同时关注性能和安全性。

    IIS+TOMCAT集群负载均衡

    本文档将深入探讨如何利用IIS作为前端代理服务器,与后端的TOMCAT应用服务器集群协同工作,以达到优化资源分配、提高系统稳定性和响应速度的目的。 一、IIS简介 IIS是微软提供的一个全面的Web服务器解决方案,它...

    IIS7.5 JDK7 TOMCAT7

    这个整合过程涉及到Web服务器、Java运行环境以及应用服务器的协同工作,使得我们可以利用IIS7.5的静态内容处理能力与Tomcat7的动态内容处理能力,实现高效且灵活的Web服务。 首先,IIS7.5(Internet Information ...

    IIS+Tomcat5.0_config

    - 验证配置,确保IIS和Tomcat可以协同工作,无错误地处理请求。 这种配置方法的优点包括: - 利用IIS的性能优势处理静态内容。 - Tomcat专注于处理Java应用程序,提高了效率。 - 通过IIS的负载均衡和安全特性增强...

Global site tag (gtag.js) - Google Analytics