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,大功告成。
btw: tomcat 启动内存调节
编辑 catalina.sh 添加下面的内容
JAVA_OPTS='-Xms1024m -Xmx2048m'