Tomcat啟動報The APR based Apache Tomcat Native library ...解決辦法
Linux下,Tomcat啟用APR需要三個元件:
下面用yum安裝:
1、檢視是否已經安裝了apr和apr-util
# rpm -qa apr
apr-1.4.8-3.el7.x86_64
# rpm -qa apr-util
apr-util-1.5.2-6.el7.x86_64
2、檢視是否有最新版的apr和apr-util
# yum list | grep apr
apr.x86_64 1.4.8-3.el7 @anaconda
apr-util.x86_64 1.5 .2-6.el7 @anaconda
3、如果還沒安裝,用yum安裝:
# yum install apr-devel apr apr-util
4、安裝tomcat-native:
搜尋tomcat-native安裝包:
# yum list | grep tomcat-native
如果已經存在,直接安裝:
# yum install tomcat-native
……
正在安裝 : tomcat-native-1.1.30-1.el7.x86_64 1/1
驗證中 : tomcat-native -1.1.30-1.el7.x86_64 1/1
已安裝:
tomcat-native.x86_64 0:1.1.30-1.el7
完畢!
tomcat-native-1.1.30-1.el7.x86_64置相關的全域性變數:
# vi /etc/profile
新增:export LD_LIBRARY_PATH =$LD_LIBRARY_PATH:/usr/local/apr/lib
# source /etc/profile
5、重啟Tomcat,看看是否可以成功使用APR
如果一切正常:
APR啟動:
[main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-apr-18080”]
[main] org.apache.catalina.startup.Catalina.start Server startup in 13617 ms
相比NIO模式的啟動,速度快了一些(~15%):
NIO啟動:
[main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-18080”]
[main] org.apache.catalina.startup.Catalina.start Server startup in 15671 ms
如果發現異常log,比如:
06-Aug-2015 14:46:04.949 SEVERE [main] org.apache.catalina.core.AprLifecycleListener.init An incompatible version 1.1.30 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
說明系統自帶的tomcat-native版本太低。
刪除:
# yum erase tomcat-native
用yum檢查有沒有最新版:
# yum update tomcat-native
如果yum找不到最新版,則下載或從Tomcat/bin中解壓安裝。
從Tomcat/bin目錄中,解壓tomcat-native.tar.gz檔案:
# tar -zxvf tomcat-native.tar.gz
得到資料夾:tomcat-native-1.1.33-src
# cd tomcat-native-1.1.33-src/jni/native/
# ./configure --with-apr=/usr/bin/apr-1-config \
--with-java-home=/usr/java/jdk1.8.0_73 \
--with-ssl=yes \
--prefix=$CATALINA_HOME
# make && make install
$CATALINA_HOME為/etc/profile中配置的tomcat環境變數