用mod_jk2整合Tomcat 5与Apache 2.0.48(TCP/IP Socket方式)

发表于:2007-05-26来源:作者:点击数: 标签:
这个mod_jk2.so真的是很折磨人 Tomcat5的安装请看我的这篇帖子[b:6faffaf96a][url]http://bbs.chinaunix.net/forum/6/20040214/259794.html[/url][/b:6faffaf96a] I.Apache2.0.48的安装和配置 (1)编译安装 [code:1:6faffaf96a] #./configure--enable-layout=

这个mod_jk2.so真的是很折磨人

Tomcat 5的安装请看我的这篇帖子[b:6faffaf96a][url]http://bbs.chinaunix.net/forum/6/20040214/259794.html[/url][/b:6faffaf96a]

I. Apache 2.0.48的安装和配置
(1)编译安装
[code:1:6faffaf96a]
# ./configure --enable-layout=Solaris 
--enalbe-modules="so rewrite vhost_alias" 
--with-mpm=prefork
# make
# make install
[/code:1:6faffaf96a]
(2)注意这个[color=red:6faffaf96a][b:6faffaf96a]--enable-layout=Solaris[/b:6faffaf96a][/color:6faffaf96a],make install后Apache安装在/usr/apache下,配置文件在/etc/apache下
修改/etc/apache/httpd.conf,把默认的Group #-1改成Group nogroup
(3)设置启动脚本
[code:1:6faffaf96a]
# cp /usr/apache/bin/apachectl /etc/init.d/apache
# cd /etc/rc2.d
# ln ../init.d/apache S99apache
# cd ../rc0.d
# ln ../init.d/apache K03apache
[/code:1:6faffaf96a]

II. mod_jk2的编译、配置
需要gclearcase/" target="_blank" >cc、autoconf、automake、m4、libtool
(1)编译mod_jk2
[code:1:6faffaf96a]
# cd ${tomcat.source}/jakarta-tomcat-connectors/jk/native2
# ./buildconf.sh
# ./configure --with-apxs2=/usr/apache/bin/apxs 
--with-java-home=/usr/java
# make
# cd ../build/jk2/apache2
# cp *.so /usr/apache/modules
[/code:1:6faffaf96a]
可能出现的错误信息
[code:1:6faffaf96a]
echo not found
[/code:1:6faffaf96a]
解决办法是
[code:1:6faffaf96a]
ln -s /usr/bin/echo /usr/local/bin/echo
[/code:1:6faffaf96a]
(2)配置mod_jk2
修改httpd.conf,加入LoadModule jk2_module modules/mod_jk2.so

创建workers2.properties,与httpd.conf放在同一目录下
[code:1:6faffaf96a]
#---- worker2.properties

[logger.apache2]
level=DEBUG

# Shared memory handling. Needs to be set.
[shm]
file=/var/apache/logs/shm.file
size=1048576

# Example socket channel, explicitly set port and host.
[channel.socket:localhost:8009]
tomcatId=localhost:8009
port=8009
host=127.0.0.1

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

[status:status]

# Uri mapping

[uri:/jkstatus/*]
group=status:status

[uri:/jsp-examples/*]
group=ajp13:localhost:8009

[uri:/servlets-examples/*]
group=ajp13:localhost:8009

#---- end of workers2.properties
[/code:1:6faffaf96a]

Tomcat一端的配置使用默认的jk2.properties,在$CATALINA_HOME/conf下

启动Apache和Tomcat(不用考虑先后顺序),用浏览器测试一下,如果成功,就恭喜你了
如果不成功(404 not found),也恭喜你, :) 碰到了跟我一样的问题.
配置都没问题,可就是不行
原因很简单:mod_jk2.so没有找到你的workers2.properties文件,可能是因为安装Apache用了
Solaris的layout吧
解决办法,在httpd.conf中加入[color=red:6faffaf96a][b:6faffaf96a]JkSet config.file /etc/apache/workers2.properties[/b:6faffaf96a][/color:6faffaf96a]

虽然TCP/IP Socket方式的mod_jk2可以工作了,但用Unxi Socket File和JNI的还是试不出来,还望高人指点

一些链接
[url]http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html[/url]
[url]http://jakarta.apache.org/tomcat/faq/connectors.html[/url]
[url]http://www.pubbitch.org/jboss/mod_jk2.html[/url]
[url]http://www.javakaffee.de/wiki/jsp/Wiki?BuildModJk[/url]
[url]http://www.pixelfreak.net/howto/apache2_jk2_tomcat/[/url]
[url]http://johnturner.com/howto/apache2-tomcat4127-jk-rh9-howto.html[/url]

 C.Arthur 回复于:2004-02-19 16:11:52
支持一下,非常感谢

 wolfg 回复于:2004-02-19 16:21:19
[quote:1a7bd08d2e="C.Arthur"]支持一下,非常感谢[/quote:1a7bd08d2e]
谢谢版主!
mod_jk2编译起来确实很麻烦! :em16:

 C.Arthur 回复于:2004-02-19 16:31:03
你可以把编译时候容易出现的问题写出来,那样就更全面了

 wolfg 回复于:2004-02-19 16:48:14
[quote:6a72739aad="C.Arthur"]你可以把编译时候容易出现的问题写出来,那样就更全面了[/quote:6a72739aad]
试了很多次,头都晕了,只记得[code:1:6a72739aad]JkSet config.file /etc/apache/workers2.properties [/code:1:6a72739aad]
这个很关键,其他的以后再补充吧

 C.Arthur 回复于:2004-02-19 17:06:06
好的,很期待啊,谢谢

 wolfg 回复于:2004-02-20 12:37:34
请看续二[b:44a9e4653f][url=http://bbs.chinaunix.net/forum/6/20040220/263825.html]Apache + Tomcat + Load Balancing [/url][/b:44a9e4653f]

原文转自:http://www.ltesting.net