加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Win32环境下IIS5和Tomcat5用JK2整合心得

发布时间:2020-12-15 02:46:43 所属栏目:Java 来源:网络整理
导读:此文假设已经安装好了IIS5和Tomcat5. JK2 下载地址: http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip 它里面带的install4iis.js一般情况下不太好用,需要自己手工配置. ?

此文假设已经安装好了IIS5和Tomcat5.
JK2 下载地址:

http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip

它里面带的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 FilesApache Software FoundationTomcat 5.0 empjk2.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_MACHINESOFTWAREApache Software FoundationJakarta Isapi Redirector2.0]

"workersFile"="E:Program FilesApache Software FoundationTomcat 5.0confworkers2.properties"

"extensionUri"="/jakarta/isapi_redirector2.dll"

"logLevel"="INFO"

"serverRoot"="E:Program FilesApache Software FoundationTomcat 5.0"


这里只有workersFile和serverRoot键值需要改,我这里用的${tomcat_home}是"E:Program FilesApache Software FoundationTomcat 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 命令可以看到哪些端口被占用)

(感谢以前摸索这种整合的同行们的努力,本文是个人经验的总结,转载请注明出处)

yanqlv
2004/09/24

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读