本文主要介绍Tomcat Native Library 安装及使用,文中所使用到的软件版本:Centos 7.9.2009、Java 1.8.0_321、Tomcat 8.5.84、APR 1.7.0。

1、APR1.1、APR 简介

APR(Apache Portable Runtime) 是一个高度可移植的库,它是 Apache Http Server 2.0 的核心组件。APR 能够使用高级 IO 功能 (如sendfile, epoll, OpenSSL)、OS 级别功能(生成随机数,操作系统状态管理)、本地进程处理功能(共享内存, Unix Sockets);我们使用 Tomcat NativeLibrary 作为 APR 和 Tomcat 的通道,使得 Tomcat 可以使用 APR 的高级特性,从而提高 Tomcat 的性能。

1.2、APR 安装

下载安装包:https://apr.apache.org/download.cgi,这里下载 1.7.0 版本,解压:

tar zxvf apr-1.7.0.tar.gz

编译安装:

./configure --prefix=/home/mongo/soft/apr-1.7.0makemake install

更多编译参数可通过./configure –help 查看。

2、Tomcat Native Library2.1、Tomcat Native Library 简介

Apache Tomcat Native Library 是 Tomcat 的可选组件,它允许 Tomcat 使用 OpenSSL 替代 JSSE 来支持 TLS 连接。

2.2、Tomcat Native Library安装

Tomcat Native Library 源码位于 $CATALINA_HOME/bin 目录下,解压该源码,然后编译安装。

cd $CATALINA_HOME/bintar zxvf tomcat-native.tar.gzcd tomcat-native-1.2.35-src/native./configure --prefix=/home/mongo/soft/tomcat-native-1.2.35 --with-apr=/home/mongo/soft/apr-1.7.0 --with-ssl=yesmakemake install

编译参数说明:

–prefix 指定 Tomcat Native Library 的安装目录
–with-apr APR 的安装目录
–with-ssl 值可以为 yes|no|path, yes 时将从系统默认目录寻找 OpenSSL,也可指定 OpenSSL 的具体安装目录;OpenSSL 的安装可参考:OpenSSL 介绍(1)–概念及安装。

更多参数说明可通过./configure –help 查看。

3、启用Tomcat Native Library 和 APR3.1、启用 Tomcat Native Library

在$CATALINA_HOME/bin 目录下新建 setenv.sh:

LD_LIBRARY_PATH=/home/mongo/soft/tomcat-native-1.2.35/lib:$CATALINA_HOME/libexport LD_LIBRARY_PATH

3.2、启用 APR

需要先启用Tomcat Native Library,然后再启用 APR。修改 conf/server.xml 中的 Connector 组件:

<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"               connectionTimeout="20000"               redirectPort="8443" />

启动后日志如下:

参考:

https://apr.apache.org

https://tomcat.apache.org/native-doc/