您的位置:首页 > 运维架构 > Tomcat

Tomcat8开启APR模式步骤

2018-02-01 17:39 309 查看
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如下图,成功。



常见错误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 即可

   

  

 

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: