关于IIS5.0和tomcat6.0的整合
环境:Win2003server+IIS5.0+Tomcat6.0
解决问题:原IIS服务器上的PHP项目和新开发的Tomcat上的JavaWeb项目公用80端口
一、配置tomcat和Java运行的环境变量
二、将下载的isapi_redirect.dll文件放置在本地任意目录,为方便管理本人将该文件放到$TOMCAT_HOME/bin/jk路径下(PS:新建jk文件夹)
三、编写IIS跳转Tomcat所需要的配置信息,可以有两种方法实现
方法一:
新建注册表文件:"任意文件名.reg"
内容:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0] "extension_uri"="/jakarta/isapi_redirect.dll" "log_file"="D:/Server/apache-tomcat-6.0.35/logs/isapi.log " "worker_file"="D:/Server/apache-tomcat-6.0.35/conf/workers.properties" "worker_mount_file"="D:/Server/apache-tomcat-6.0.35/conf/uriworkermap.properties" "log_level"="realease"
PS:内容中设计路径的地方请根据各自的配置做个性化修改
创建之后,双击执行reg文件,提示成功后说明操作ok
方法二:
编写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映射文件,位置任意,但是在指定位置必须创建此文件)
四、编写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
/*.jsp=lyWorker
上面的配置说明了所有对/servlets-examples目录下和所有jsp文件的请求都由lyWorker来处理,也就是说会发送到Tomcat,由Tomcat容器进行处理。
六、 创建Filter:
打开IIS,在默认Web站点选项上点击右键,然后选择属性,选择ISAPI筛选器,选择添加:
筛选器的名称任意,可执行文件为isapi_redirect.dll。
创建完成后点击应用,然后确定完成。如下图所示,如果箭头为绿色向上,则表示筛选器配置成功,否则为红色,表示不成功(此处只有不为红色即为成功,运行或重启之后就可以变绿色)。
七、 在IIS中建立虚拟目录:
打开Internet信息服务工具:选择Internet信息服务àasi(你的主机名)à默认Web站点,点击右键,选择新建虚拟目录,如下图所示:
在弹出的窗口中点击下一步,然后在虚拟目录别名中填写jakarta(这个名称是固定的),如下图所示:
点击下一步,在Web站点内容目录中通过点击浏览选择isapi_redirect.dll文件所在的目录,如下图所示:
在设置访问权限中,机的将执行权限选中(第三个复选框):
创建完成后,添加了虚拟站点jakarta,选中后,右侧显示该内容目录中的内容:
(其中servlets-examples是后来创建的,根据初始情况的不同,默认Web站点下的内容可能会不同,但是并不影响配置)。
以同样的步骤创建servlets-examples虚拟目录,目录内容为c:/apache-tomcat-5.5.23/webapps/servlets-examples,即Tomcat自带的servlets例子程序目录。同样给与执行的权限。
八、 在$TOMCAT_HOME/conf/server.xml文件中添加Context元素:
……
……
这个前提是在安装tomcat时,在$TOMCAT_HOME/webapps目录下,带有servlets-examples样例程序。
添加完成后,保存。
九、 很重要的一步,设置完成后,重新启动计算机。笔者之前由于没有重新启动计算机,所以不管怎么样来回启动停止Tomcat和IIS,都不能访问成功。
十、 重启后,启动Tomcat服务器,启动IIS服务器(IIS一般随系统一起启动),在地址栏内输入:http://localhost/servlets-examples
如果显示内容为文件的列表或者其他内容(不是错误页面,如果是500错误,可能是服务器没有启动),可能是没有找到欢迎页面,并且没有浏览目录的权 限,在IIS中点击默认Web站点,右键,选择属性,然后选择文档,在其中添加index.jsp和index.html作为欢迎页面,重新进入,正常的 成功后进入页面如下图:
现在还不能说明已经将IIS和Tomcat整合成功,因为现在看到的页面是静态的内容,所以要测试执行一个Servlet,点击Hello World应用程序右边的Execute连接:
如果出现下图所示页面,则表示整合IIS和Tomcat成功:
其中Tomcat和IIS或者Apache的整合很简单,主要是配置正确,还有一些稍微高级一些的应用,例如请求的分离,多主机等。以后再作介绍。
关于workers.properties文件和uriworkmap.properties文件的语法,可以参考Apache官方网站。
浙公网安备 33010602011771号