现在的位置: 首页 > 综合 > 正文

IIS整合Tomcat

2013年09月12日 ⁄ 综合 ⁄ 共 3682字 ⁄ 字号 评论关闭

在网上看到过很多篇关于IIS和Tomcat整合的文章,但是在我自己根据文章进行实践的时候却总是出现很多问题,所以决定还是将自己的实验过程总结一下。

首先先说明一下笔者实践成功的环境:

Win2KSP4+Tomcat5.5.23+IIS5.0

WinXPSP2+Tomcat5.5.23+IIS6.0

下面就开始具体说一下配置过程:(请确认文件名等大小写,拼写无误)

前提条件

¨ 操作系统+IIS(在操作系统的控制面板à添加删除程序à添加删除Windows组件àInternet Information Service)

¨ Apache Tomcat 5.5.23(其他版本没有测试,估计5.5.x的版本都可以)

¨ JDK 5.0(由于Tomcat 5.5需要JDK 5.0的支持)

¨ Apache Tomcat Connector(isapi_redirect.dll文件,下载地址具体URL记不清楚了,可以进入http://www.apache.org/dist来进行查找Tomcat-->Connector-->bin)

配置步骤:

1. 操作系统和IIS的安装

2. 安装Java运行时环境

3. 根据下载的Tomcat格式的不同进行解压缩或者执行可执行应用程序(如果下载的是windows的可执行安装程序,可以直接安装)

4. 将下载的isapi_redirect.dll文件放置在本地任意目录,记为JK_HOME。笔者建议放在Tomcat安装目录下,文件结构为$TOMCAT_HOME/jk/win32,之所以使用这样的结构是因为32位操作系统和64位操作系统的isapi_redirect.dll文件是不同的,为了将来扩展方便和结构清晰。

5. 编写isapi_redirect.properties文件,笔者开始的时候是根据Apache官方网站提供的设置注册表的方法,可以工作,但是在系统的注册表中加内容的过程没有直接写一个属性文件方便。样例isapi_redirect.properties文件如下:

# Configuration file for the Jakarta ISAPI Redirector

# The path to the ISAPI Redirector Extension, relative to the website

# This must be in a virtual directory with execute privileges

extension_uri=/jakarta/isapi_redirect.dll(固定的)

# Full path to the log file for the ISAPI Redirector

log_file=c:/apache-tomcat-5.5.23/logs/isapi_redirect.log(日志位置,位置任意)

# Log level (debug, info, warn, error or trace)

log_level=info(日志级别,五种中任选)

# Full path to the workers.properties file

worker_file=C:/apache-tomcat-5.5.23/conf/workers.properties(workers属性文件,位置任意,但是在指定位置必须创建此文件)

# Full path to the uriworkermap.properties file

worker_mount_file=C:/apache-tomcat-5.5.23/conf/uriworkermap.properties(workers对uri映射文件,位置任意,但是在指定位置必须创建此文件)

6. 编写workers.properties和uriworkermap.properties文件

在上面isapi_redirect.properties属性文件中定义的位置分别创建着两个文件。

workers.properties文件内容(示例文件,可以根据需要进行任意修改)

# workers.properties.minimal -

#

# This file provides minimal jk configuration properties needed to

# connect to Tomcat.

#

# The workers that jk should create and work with

#

worker.list=lyWorker

#

# Defining a worker named lyWorker and of type ajp13

# Note that the name and the type do not have to match.

#

worker. lyWorker.type=ajp13

worker. lyWorker.host=localhost

worker. lyWorker.port=8009

这里的woker的名称是lyWorker,类型是ajp13,主机是localhost,对应端口号是8009,这个8009要和$TOMCAT_HOME/conf/server.xml文件中的端口号对应:

……

 

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

……

uriworkermap.properties文件内容:

# uriworkermap.properties - IIS

#

# This file provides sample mappings for lyWorker

# worker defined in workermap.properties.minimal

# The general syntax for this file is:

# [URL]=[Worker name]

/servlets-examples/*=lyWorker

上面的配置说明了所有对/servlets-examples目录下的请求都由lyWorker来处理,也就是说会发送到Tomcat,由Tomcat容器进行处理。

7. 创建Filter:

在默认Web站点选项上点击右键,然后选择属性,选择ISAPI筛选器,选择添加:

clip_image002

筛选器的名称任意,可执行文件为isapi_redirect.dll。

创建完成后点击应用,然后确定完成。如下图所示,如果箭头为绿色向上,则表示筛选器配置成功,否则为红色,表示不成功。

clip_image004

8. 在IIS中建立虚拟目录:

打开Internet信息服务工具:选择Internet信息服务àasi(你的主机名)à默认Web站点,点击右键,选择新建虚拟目录,如下图所示:

clip_image006

在弹出的窗口中点击下一步,然后在虚拟目录别名中填写jakarta(这个名称是固定的),如下图所示:

clip_image008

点击下一步,在Web站点内容目录中通过点击浏览选择isapi_redirect.dll文件所在的目录,如下图所示:

clip_image010

在设置访问权限中,机的将执行权限选中(第三个复选框):

clip_image012

创建完成后,添加了虚拟站点jakarta,选中后,右侧显示该内容目录中的内容:

clip_image014

(其中servlets-examples是后来创建的,根据初始情况的不同,默认Web站点下的内容可能会不同,但是并不影响配置)。

以同样的步骤创建servlets-examples虚拟目录,目录内容为c:/apache-tomcat-5.5.23/webapps/servlets-examples,即Tomcat自带的servlets例子程序目录。同样给与执行的权限。

9. 在$TOMCAT_HOME/conf/server.xml文件中添加Context元素:

……

 

 

 

……

这个前提是在安装tomcat时,在$TOMCAT_HOME/webapps目录下,带有servlets-examples样例程序。

添加完成后,保存。

10. 很重要的一步,设置完成后,重新启动计算机。笔者之前由于没有重新启动计算机,所以不管怎么样来回启动停止Tomcat和IIS,都不能访问成功。

11. 重启后,启动Tomcat服务器,启动IIS服务器(IIS一般随系统一起启动),在地址栏内输入:http://localhost/servlets-examples

如果显示内容为文件的列表或者其他内容(不是错误页面,如果是500错误,可能是服务器没有启动),可能是没有找到欢迎页面,并且没有浏览目录的权限,在IIS中点击默认Web站点,右键,选择属性,然后选择文档,在其中添加index.jsp和index.html作为欢迎页面,重新进入,正常的成功后进入页面如下图:

clip_image016

现在还不能说明已经将IIS和Tomcat整合成功,因为现在看到的页面是静态的内容,所以要测试执行一个Servlet,点击Hello World应用程序右边的Execute连接:

如果出现下图所示页面,则表示整合IIS和Tomcat成功:

clip_image018

其中Tomcat和IIS或者Apache的整合很简单,主要是配置正确,还有一些稍微高级一些的应用,例如请求的分离,多主机等。以后再作介绍。

关于workers.properties文件和uriworkmap.properties文件的语法,可以参考Apache官方网站。

抱歉!评论已关闭.