Win32环境下Apache2和Tomcat5用JK2整合心得
JK2 下载地址:
这里假设已经安装好了Apache2和Tomcat5
1
把jk2.properties文件放到${tomcat_home}/conf下,
把workers2.properties文件放到${apache2}/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
下载到的mod_jk2.so文件放到${apache2}\modules目录下,
把${apache2}\conf下的httpd.conf里加上一行:
LoadModule jk2_module modules/mod_jk2.so
3
重起Apache2, 重起Tomcat5,
总结一下,其实只需要mod_jk2.so一个文件,其他的jk2.properties,workers2.properties都可以自己建立。
测试方法:
打开http://localhost:8080/jsp-examples/,应能正常访问(通过Tomcat5)
把端口号删掉,即成为http://localhost/jsp-examples/, 还能正常访问(通过Apache2).
4
如果出了问题,检查以下可能:
* 是否把workers2.properties文件正确的放到${apache2}\conf下了
* 检查系统参数里JAVA_HOME等是否正确设定
* 有时造成Apache2无法启动是可能在httpd.conf里加入了非法的行,检查是否只添加了LoadModule jk2_module modules/mod_jk2.so一行。
* 有的机器可能80, 8080, 8009这些端口已经被占用,可以关闭占用的程序, 或改动缺省端口的方法解决。(把IIS, Tomcat服务先停止,用netstat –an 命令可以看到哪些端口被占用)
和IIS5的整合相比较,Apache2的整合简单多了,主要是IIS5用到的注册表更改这里不需要了,但是workers2.properties文件的位置不能随便放置了,只能在Apache2的配置目录即和httpd.conf一样的目录${apache2}\conf里。
(感谢以前摸索这种整合的同行们的努力,本文是个人经验的总结,转载请注明出处)
yanqlv
2004/09/24