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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com