tomcat 安装 apr (Apache Portable Runtime), tomcat-native.
原文出处:http://blog.chenlb.com/2009/01/install-apache-portable-runtime-or-tomcat-native-on-tomcat.html
apr 与 tomcat-native 提供更好的伸缩性、性能和集成到本地服务器技术。
如果没有apr技术,启动tomcat 时出现如下提示:
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_06/jre/lib/i386/client:/usr/java/jdk1.6.0_06/jre/lib/i386:/usr/java/jdk1.6.0_06/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
按照官方说明需要:
- APR library
- OpenSSL libraries
openssl 可以用 yum install openssl-devel,apr还是下载*.gz来安装。
apr-1.3.2.tar.gz
apr-util-1.3.2.tar.gz
两个可以在 http://apache.mirror.phpchina.com/apr/ 找到。
tomcat-native.tar.gz 可以在tomcat/bin目录下找到。
安装 apr
- wget http://apache.mirror.phpchina.com/apr/apr-1.3.2.tar.gz
- tar zxvf apr-1.3.2.tar.gz
- cd apr-1.3.2
- ./configure
- make
- make install
apr 默认安装在 /usr/local/apr
安装 apr-util
- wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.2.tar.gz
- tar zxvf apr-util-1.3.2.tar.gz
- cd apr-util-1.3.2
- ./configure --with-apr=/usr/local/apr
- make
- make install
安装 tomcat-native
- cd /usr/local/tomcat-6.0.18/bin
- tar zxvf tomcat-native.tar.gz
- cd tomcat-native-1.1.14-src/jni/native
- ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_11
- make
- make install
设置 apr 的环境变量:
- vi /etc/profile
- # 后面添加以下内容
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
- # 使profile生效,
- source /etc/profile
启动 tomcat 后, 看日志:
- bin/startup.sh
- head logs/catalina.out
可以看到以下结果:
信息: Loaded APR based Apache Tomcat Native library 1.1.14. 2009-1-13 11:12:51 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
好了, 可以运行了,但没有测试其性能提交多少。
注意事项:首先需要gcc yum install gcc
如果所有配置完还不行,就是 native 找不到 即需要配置软连接。
service.xml配置:
参数含义:
http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html
主要配置:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="2000"
minSpareThreads="512"
prestartminSpareThreads="true"
/>
<Connector port="7008" protocol="org.apache.coyote.ajp.AjpAprProtocol"
executor="tomcatThreadPool"
connectionTimeout="20000"
acceptCount="2000"
enableLookups="false"
processorCache="1000"
redirectPort="11001" />