Tomcat ARP介绍
Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术。APR(Apache Portable Runtime)
是一个高可移植库,它是Apache HTTP Server2.x的核心。
APR有很多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),OS级别功能(随机数生成,系统状态等等),
本地进程管理(共享内存,NT管道和UNIXsockets)。这些功能可以使Tomcat作为一个通常的前台WEB服务器,能更好
地和其它本地web技术集成,总体上让Java更有效率作为一个高性能web服务器平台而不是简单作为后台容器。
在产品环境中,特别是直接使用Tomcat做WEB服务器的时候,应该使用Tomcat Native来提高其性能。
说白了,就是如何 在Tomcat中使用JNI的方式来读取文件以及进行网络传输。这个东西可以大大提升Tomcat对静态文
件的处理性能,同时如果你使用了HTTPS方式 传输的话,也可以提升SSL的处理性能。
第一步,下载APR组件依赖:
参考官网 http://tomcat.apache.org/tomcat-8.0-doc/apr.html#APR_Components
首先需要安装APR的三个依赖 http://apr.apache.org/download.cgi
第二步,编译APR组件和Tomcat-native组件
1编译前需要安装gcc和cmake,建议使用root用户,防止各种权限问题
yum install cmake gcc expat-devel
2安装apr
cd /home/hadoop/soft/tomcat8/apr/apr-1.6.3
./configure --prefix=/usr/local/apr
make
make install
3.安装apr-iconv
cd /home/hadoop/soft/tomcat8/apr/apr-iconv-1.2.2
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make
make install
4.安装apr-util
cd /home/hadoop/soft/tomcat8/apr/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make
make install
5.安装Tomcat-native
cd /home/hadoop/soft/tomcat8/tomcat8.5/bin/tomcat-native-1.2.16-src/native
./configure --with-apr=/usr/local/apr --with-java-home=/home/hadoop/jdk8_x64/jdk1.8.0_151/
make
make install
6.修改环境变量
在文件末尾处添加下面的变量
vim /etc/profile
# apr
export LD_LIBRARY_PATH=/usr/local/apr/lib
1.修改Tomcat 下 conf/server.xml protocol的值 HTTP/1.1为org.apache.coyote.http11.Http11AprProtocol
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443" />
2.修改SSLEngine 为off
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
最后开始启动Tomcat如下图,成功。
如果有显示[http-apr-8080] 说明成功
常见错误FAQ:
错误提示 :architecture word width mismatch
解决方式: java版本问题,可能是32位java运行64位的lib.so,更换java版本即可
错误提示:安装apr-util时也遇到类似的问题,找不到expat.h
解决方式:yum install expat-devel
错误提示:.lifecycleEvent Failed to initialize the SSLEngine
解决方式:<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" /> 默认为on 改为off 即可
————————————————
来源:https://www.cnblogs.com/youxin/p/12275362.html