vivaz.net Ride Like The Wind

13Jun/092

httpd2.2 tomcat5.5 mod_jk integration

httpd 编译参数

./configure --prefix=/opt/httpd2/ \
--with-mpm=worker \
--enable-ssl \
--enable-cache \
--enable-disk-cache \
--enable-mem-cache \
--enable-rewrite \
--enable-usertrack \
--enable-proxy \
--enable-proxy-connect \
--enable-proxy-http \
--enable-deflate

编译安装

make && make install

下载 mod_jk 并 cp 至 httpd modules 目录(请根据自己的发行版选择,这里使用 centos 52 x64)

wget http://apache.etoak.com/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.28/x86_64/mod_jk-1.2.28-httpd-2.2.X.so
cp /where/is/your/mod_jk-1.2.28-httpd-2.2.X.so /opt/httpd2/modules/mod_jk.so

配置 workers.properties
vi /opt/httpd2/conf/workers.properties

#
# workers.properties
#
# list the workers by name
worker.list=s1
# localhost server 1
# ------------------------
worker.s1.port=8009
worker.s1.host=localhost
worker.s1.type=ajp13

配置 http.conf 添加 modjk 参数
vi /opt/httpd2/conf/httpd.conf

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkLogFile logs/mod_jk.log
JkLogLevel error

添加动态页面转发

JkMount /*.jsp s1
JkMount /*.action s1
JkMount /*Servlet* s1

httpd-mpm.conf 参数


ServerLimit 30
StartServers 2
ThreadLimit 200
MaxClients 3000
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 100
MaxRequestsPerChild 10000

配置 tomcat server.xml
默认的 server.xml 过于臃肿,可以使用 server-minimal.xml 代替

vi /opt/tomcat5/conf/server.xml
修改 8009 的参数

maxTreads="800" minSpareThreads="10" maxSpareThreads="50"
acceptCount="50" connectionTimeout="60000"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

配置 context,注意 docBase 和 httpd 的 DocumentRoot 一致

unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

重启动 tomcat 和 httpd,大功告成。 :35:

btw: tomcat 启动内存调节
编辑 catalina.sh 添加下面的内容

JAVA_OPTS='-Xms1024m -Xmx2048m'

Tagged as: , , 2 Comments