The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
tomcat启动项目时出现“org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]”错误,有些时候不影响项目的启动。如下图所示:
Tomcat支持三种接收请求的处理方式:BIO、NIO、APR
1. BIO由于每个请求都要创建一个线程来处理,线程开销比较大,不能再高并发的场景,性能也是最低的。
2. NIO是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,比传统的bio更好的并发性能。
3. APR(Apache Portable Run-time libraries)简单理解,就是从操作系统级别解决异步IO问题。
所需软件
apr apr-iconv apr-util tomcat-native
安装软件
yum install -y apr-devel openssl-devel gcc make expat-devel libtool
cd /usr/local/src
wget https://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz tar xf apr-1.6.3.tar.gz
cd apr-1.6.3/ ./configure --prefix=/usr/local/apr
make && make install
cd /usr/local/src
wget https://mirrors.cnnic.cn/apache/apr/apr-iconv-1.2.2.tar.gz
tar xf apr-iconv-1.2.2.tar.gz cd apr-iconv-1.2.2/ ./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-iconv
make && make install
cd /usr/local/src
wget https://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz tar xf apr-util-1.6.1.tar.gz cd 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
cd /usr/local/tomcat/bin/ tar xf tomcat-native.tar.gz cd /usr/local/tomcat/bin/tomcat-native-1.2.16-src/native ./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/jdk8.0
make && make install
echo ‘export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib‘ >> /etc/profile source /etc/profile
使用命令“vi /etc/profile”打开环境配置文件后,将其拖到底部,在profile文件中添加“export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib”。如下图所示: