ChinaUnix首页 > 精华文章 > Solaris > 正文

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


http://www.chinaunix.net 作者:wolfg  发表于:2004-02-20 12:37:34
发表评论】 【查看原文】 【Solaris讨论区】【关闭

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

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

I. Apache 2.0.48的安装和配置
(1)编译安装

# ./configure --enable-layout=Solaris \
--enalbe-modules="so rewrite vhost_alias" \
--with-mpm=prefork
# make
# make install

(2)注意这个[color=red]--enable-layout=Solaris[/color],make install后Apache安装在/usr/apache下,配置文件在/etc/apache下
修改/etc/apache/httpd.conf,把默认的Group #-1改成Group nogroup
(3)设置启动脚本

# 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


II. mod_jk2的编译、配置
需要gcc、autoconf、automake、m4、libtool
(1)编译mod_jk2

# 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

可能出现的错误信息

echo not found

解决办法是

ln -s /usr/bin/echo /usr/local/bin/echo

(2)配置mod_jk2
修改httpd.conf,加入LoadModule jk2_module modules/mod_jk2.so

创建workers2.properties,与httpd.conf放在同一目录下

#---- 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


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

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

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

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



 C.Arthur 回复于:2004-02-19 16:11:52

支持一下,非常感谢


 wolfg 回复于:2004-02-19 16:21:19

引用:原帖由 "C.Arthur"]支持一下,非常感谢
 发表:


谢谢版主!
mod_jk2编译起来确实很麻烦! :em16:


 C.Arthur 回复于:2004-02-19 16:31:03

你可以把编译时候容易出现的问题写出来,那样就更全面了


 wolfg 回复于:2004-02-19 16:48:14

引用:原帖由 "C.Arthur"]你可以把编译时候容易出现的问题写出来,那样就更全面了
 发表:


试了很多次,头都晕了,只记得
JkSet config.file /etc/apache/workers2.properties 

这个很关键,其他的以后再补充吧


 C.Arthur 回复于:2004-02-19 17:06:06

好的,很期待啊,谢谢


 wolfg 回复于:2004-02-20 12:37:34

请看续二[url=http://bbs.chinaunix.net/forum/6/20040220/263825.html]Apache + Tomcat + Load Balancing 




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=263220
转载请注明作者名及原文出处