tomcat 安装APR

Tomcat 的一个可选组件是APR(Apache Portable Runtime), 这个工程组件在tomcat中的使用增进了稳定性和性能,特别是当tomcat也用于web服务器的时候. 在启动tomcat时, 我们可以在控制台上找到如下日志.
INFO: The Apache Tomcat Native library which allows optional performance in production environments was not found on the java.library.path


APR的windows文件可在http://tomcat.heanet.ie/native/处获取, 下载并保存tcnative-1.dll文件到<TOMCAT_HOME>/bin目录. 这个DLL包含了APR和OpenSSl的内容.还有就是openssl.exe

在linux下安装APR
1.安装APR
在http://apr.apache.org下载. 使用root用户安装APR至默认位置(/usr/local/apr)
$ tar zxvf apr-x.y.z.tar.gz
$ cd apr-x.y.z
$ ./buildconf
$ ./configure
$ make && make install


2. 安装APR的jni
在<TOMCAT_HOME>/bin目录下的tomcat-native.tar.gz文件, 指定安装了APR的位置,如果不需要OpenSSL支持,可以使用--without--ssl选项. 如果要的话, 可以从www.openssl.org上下载到.
$ cd /path/to/tomcat/bin
$ tar zxvf tomcat-native.tar.gz
$ cd tomcat-native-x.y.z-src/jni/native
$ ./configure --with-apr=/usr/local/apr --wwith-ssl=openssl_install_location
$ make install


3. 安装后,在LD_LIBRARY_PATH下添加APR目录
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib


重启tomcat时, 可以看到一个
INFO: Loaded Apache Tomcat Native library1.1.9信息, 表明APR被检测和加载.


本地APR连接器不是完整的连接器. 它实际上利用了标准的基于java的连接器来完成其大部分操作. 不过,当启用本地代码APR连接器时, 为了性能--可扩展性--敏感的操作, java代码将转换到本地实现 . APR连接器通过3个主要的机制实现最优化性能和增强可扩展性.
  • 使用sendfile() kernel mode call直接从缓存中发磅大型静态文件
  • 为了大量连接,使用单一的本机代码来保存poller以实现连接保持激活状态
  • 使用OpenSSL本地代码,它拥有为SSL处理(通过硬件)加速SSL实现的功能


以下两个条件启用APR连接器.
  • 将protocol属性设置为org.apache.coyote.http11.Http11AprProtocol
  • APR库在PATH环境变量(windows)或LD_LIBRARY_PATH(linux)中.


server.xml文件配置:
<Connector port="8080"
   protocol="org.apache.coyote.http11.Http11AprProtocol"
   macThreads="150"
   connectionTimeout="20000"
   redirectPort="8443"

可配置的属性有:
allowTrace
emptySessionPath
enableLookups
maxPostSize
maxSavePostSize
protocol
proxyName
proxyPort
redirectPort
SSLEnabled
scheme
secure
URIEncoding
useBodyEncodingForURI
useIPVHosts
xpoweredBy
firstReadTimeout
poolTime
pollerSize
useSendfile 默认为true
sendfileSize

猜你喜欢

转载自wen66.iteye.com/blog/1059001