终于可以在80端口跑JSP了,爽!把IIS和TOM猫集成在一起工作还真不容易,差点直接拿刀在硬盘上刻了。 :-)
还是简要记录一下这个过程,以免筛子脑袋两天以后就啥都漏没了。
运行环境简介
操作系统版本:Windows XP Professional 2002 SP2
IIS版本:5.1
Tomcat版本:5.5.12
JDK版本:1.5.0_05
Connector版本:2.0.4(点这里下载)
安装软件
1、J2SDK安装与配置;
2、Tomcat安装与配置;
3、IIS安装与配置。
安装完毕后,确定它们可以独立运行。
(PS:以上安装与配置文档可能版本较老,不过,经测试完全胜任指导本文使用版本的安装与配置。)
整合步骤
1、将IIS和Tomcat默认网站指向同一站点(关于这一点,我会继续摸索一下,目前没搞明白为什么必须这样);
2、isapi_redirector2.dll拷贝到任意目录下,我这里用的是:%TOMCAT_HOME%\tc5iis\;
3、在%TOMCAT_HOME%\conf\目录下建立workers2.properties,键入以下内容:
[shm]
file=%TOMCAT_HOME%/logs/jk2.log
size=1048576
# 实际运用时把所有的localhost和8009换成你自己的IP和端口
[channel.socket:localhost:8009]
port=8009
host=localhost
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*.jsp]
[uri:/web/*]
worker=ajp13:localhost:8009
# define the worker
[status:status]
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
PS:红色部分需要被替换为绝对路径,路径用“/”。
4、建立注册表文件tc5iis.reg(文件名任取),键入以下内容:
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"serverRoot"="%TOMCAT_HOME%"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="%TOMCAT_HOME%\\conf\\workers2.properties"
"logLevel"="INFO"
PS:红色部分需要被替换为绝对路径,路径用“\\”。
将该文件导入到注册表中。(我在导入该文件时,始终提示必须为二进制值才可以导入,然后导入失败;不得不直接在注册表编辑器中编辑,不过效果是一样的。)
5、配置IIS
打开IIS管理器,选中站点[属性](右击菜单)==》选中ISAPI筛选器,[添加]“jakarta”,指定绝对路径到isapi_redirector2.dll目录==》[确定],关闭[属性]==》选中站点[新建]-[虚拟目录],填入别名jakarta,指定绝对路径到isapi_redirector2.dll目录,然后在[执行]复选框打勾==》OK!
6、重启Tomcat、IIS服务并测试
在站点根目录下,建立HelloWorld.jsp,源码如下:
<html>
<head>
<title>Hello World</title>
</head>
<body>
<% out.print("Hello World!"); %>
</body>
</html>
浏览器地址栏分别输入:http://localhost:8080/HelloWorld.jsp和http://localhost/HelloWorld.jsp看看结果。如果一样,那么一切OK!
虽然整合看起来已经在发挥作用了,可是还有很多的问题存在。原来Tomcat下的子站点还是不能被80端口直接访问,而且有些JSP页面中的代码不能被正确解析,可是这些在8080端口是OK的,看来还要花时间深入了解一下。
呵呵,无论如何现在IIS和TOM猫已经成为同事了,他们彼此有再多的不满,也要在我的领导下变得驯服一点。
PS:英文文档里提到jk2.properties文件,我不知道这个应在TOM猫的哪个目录下存放,而且不知道它到底是干什么的。难道现在还存在的这写小问题和这有关?