此文假设已经安装好了IIS5和Tomcat5.
JK2
下载地址
:
它里面带的 install4iis.js 一般情况下不太好用,需要自己手工配置 .
1
把
jk2.properties
和
workers2.properties
两个文件放到
${tomcat_home}/conf
下,
其中 jk2.properties 缺省时全部注释掉了,也无所谓 , 就用下载到的缺省的就行 .( 也可以
加上如下一行, request.tomcatAuthentication=false, 具体作用我还不是很清楚
workers2.properties 里应该注意至少包含以下三部分:
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=E:"Program Files"Apache Software Foundation"Tomcat 5.0"temp"jk2.shm
size=1048576
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
# Map webapps to the Web server uri space
[uri:/jsp-examples/*]
[uri:/servlets-examples/*]
第一部分 Windows 下文件名路径用 ”/” 或 ”"” 都无所谓(并不像网上有些说法)
第二部分照写就可以了,这表示 JK2 用端口 8009 来工作
第三部分是一个 URI 映射表,把要用 Tomcat 来解释的路径按照例子写好,需要时可自己添加。
2
下载到的
isapi_redirector2.dll
文件放的位置可以任意,但最好是在
${tomcat_home}
下专门建立一个目录,该目录名只在下面两处用到。
第一,在 IIS5 里建立一个虚拟目录叫 jakarta ,该目录一定要指定 ” 执行 ” 的权限 , 该目录也就是包含文件 isapi_redirector2.dll 的目录。
第二,在 web 站点属性里的“ ISAPI 筛选器 ” 选项卡里,添加一项,名随便起(如 tomcat ),可执行文件同样指向 isapi_redirector2.dll . (图略)
3
手工建立一个注册表导入文件,如起名叫
jk2.reg
,内容至少要包含如下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE"SOFTWARE"Apache Software Foundation"Jakarta Isapi Redirector"2.0]
"workersFile"="E:""Program Files""Apache Software Foundation""Tomcat 5.0""conf""workers2.properties"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"logLevel"="INFO"
"serverRoot"="E:""Program Files""Apache Software Foundation""Tomcat 5.0"""
这里只有
workersFile
和
serverRoot
键值需要改,我这里用的
${tomcat_home}
是
"E:""Program Files""Apache Software Foundation""Tomcat 5.0"""
改完双击导入注册表。这些注册表信息的作用应该是由 isapi_redirector2.dll 读取的一些初始化参数。
4
重起
IIS5,
重起
Tomcat5,
应该在
IIS
的
web
站点属性里的“
ISAPI
筛选器
”
选项卡里看到刚才加入的项目,而且前面有绿箭头,优先度为高。这就成功了。
总结一下,其实只需要 isapi_redirector2.dll 一个文件,其他的 jk2.properties , workers2.properties , jk2.reg 都可以自己建立。
测试方法:
打开 http://localhost:8080/jsp-examples/ ,应能正常访问 ( 通过 Tomcat5)
把端口号删掉,即成为 http://localhost/jsp-examples/ , 还能正常访问 ( 通过 IIS5).
5
如果出了问题,检查以下可能
:
* 是否把字母写错,如我曾把 jakarta 写成 jarkata
* IIS 的 web 站点属性里的“ ISAPI 筛选器 ” 选项卡里项目是否为绿色,且优先度为高,表示已经载入,如果不行,尝试重起 web 服务,有时可能需要重起计算机
* 检查系统参数里 JAVA_HOME 和 TOMCAT_HOME 是否正确设定
* isapi_redirector2.dll 把出错消息写到了系统的应用程序日志里,一般出现这种情况是因为注册表 jk2.reg 设置的不对 , 造成无法初始化 .
*
有的机器可能
80, 8080, 8009
这些端口已经被占用,可以关闭占用的程序,
或改动缺省端口的方法解决。
(
把
IIS, Tomcat
服务先停止,用
netstat –an
命令可以看到哪些端口被占用
)