Tomcat共有三种运行模式,分别是bio,nio和apr。其中,bio是阻塞是io操作,效率最低;nio是基于java中非阻塞io操作的api实现,比传统io处理方式有着跟高的并发运行性能;apr是从操作系统基础上解决异步io问题,可大幅提升服务器的并发处理性能,同时也是tomcat生产环境运行时的首选方式。
apr本质是使用jni技术调用操作系统底层的io接口,所以需要提前安装所依赖的库文件,包括apr,apr-iconv,apr-util和openssl。
contos在线安装apr,目前支持的最高版本是1.3.9,不能满足tomcat8最低版本1.4.3的要求,所以需要手工安装依赖库。
Tomcat8自带tomcat-native-src.tar.gz文件
./configure --with-ssl=/usr/local/openssl make make install |
--------------------------------------- --------------分割线-------------------------------------------------------------------
下载openssl官网下载openssl文件,下载地址https://www.openssl.org/source,可下载最新版本的1.1.0e
Centos系统安装openssl命令如下所示:
tar zxvf openssl-1.1.0e.tar.gz cd openssl-1.1.0e ./config –prefix=/usr/local/openssl –openssldir=/usr/local/openssl make && make install |
下载apr,apr-util,apr-iconv,下载地址http://apr.apache.org/download.cgi#apr1,需要下载的文件如下所示:
apr-1.6.3.tar.gz apr-iconv-1.2.2.tar.gz apr-util.1.6.1.tar.gz |
安装apr
tar zxvf apr-1.6.3.tar.gz cd apr-1.6.3 ./configure --prefix=/usr/local/apr make && make install |
安装apr-iconv
tar zxvf apr-iconv.1.2.2.tar.gz cd apr-iconv-1.2.2 ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr make && make install |
安装apr-util
tar zxvf 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 |
安装必要的apr库后,需要配置tomcat,使其能够运行在apr模式下。
1、配置apr本地库到系统共享库搜素路径,方法如下所示:
修改tomcat的catalina.sh配置文件,指定apr库目录:JAVA_OPTS=”$JAVA_OPTS –Djava.library.path=/usr/local/apr/lib”
2、启动apr模式
修改server.xml配置文件中的connector节点中的protocol属性为org.apache.coyote.http11.Http11AprProtocol。
3、启动Tomcat,查看打印信息,确定tomcat已支持apr