本文共 2227 字,大约阅读时间需要 7 分钟。
tomcat中一共有三种运行模式,分别是:bio,nio,apr
bio是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发的场景nio是基于java中非阻塞IO操作的API实现,比传统的i/o处理方式有更高的并发运行性能,也是tomcat8默认模式apr是从操作系统级别解决异步IO问题,大幅度提高服务器的并发处理性能,也是Tomcat生产环境运行的首选方式centos6安装配置时众多坑,一个一个填yum install apr-devel gcc gcc-c++ openssl-devel openssl #首先安装依赖包在编译安装native时,会提示apr版本低,需要重新编译安装安装aprcd /usr/localwget tar xf apr-1.6.5.tar.gz -C /usr/local/srccd /usr/local/src/apr-1.6.5./configure --prefix=/usr/local/aprmake && make install安装apr-util
yum install expat-devel #安装依赖包wget tar xf apr-util-1.6.1.tar.gz -C /usr/local/src/cd /usr/local/src/apr-util-1.6.1./configure --with-apr=/usr/local/aprmake && make install安装native
cd /usr/localwget tar xf tomcat-native-1.2.16-src.tar.gz -C /usr/local/src/cd /usr/local/src/tomcat-native-1.2.16-src/native./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/jdk如果提示openssl不兼容,(error: Your version of OpenSSL is not compatible with this version of tcnativ)需要重新安装高版本的openssl
wget
tar xf openssl-1.0.2-latest.tar.gzcd openssl-1.0.2q./config --prefix=/usr/local/openssl -fPIC #注意这里需要加入 -fPIC参数,否则后面在安装tomcat native 组件会出错make && make installmv /usr/bin/openssl ~ln -s /usr/local/openssl/bin/openssl /usr/bin/opensslopenssl version #查看安装后的版本OpenSSL 1.0.2q 20 Nov 2018cd /usr/local/src/tomcat-native-1.2.16-src/native #进入native目录,再次编译安装native./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/jdk --with-ssl=/usr/local/opensslmake && make install安装完成后提示:"have your system administrator add LIBDIR to '/etc/ld.so.conf'"
需要添加库文件:vim /etc/ld.so.conf/usr/local/apr/lib ##添加此行[root@localhost native]# ldconfig[root@localhost native]# echo "ldconfig" >>/etc/rc.local添加环境变量:[root@localhost native]# vim /etc/profile最后添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/libexport LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib重读生效:[root@localhost native]#source /etc/profile编辑tomcat配置文件
vim server.xmlprotocol="org.apache.coyote.http11.Http11AprProtocol" #修改HTTP/1.1协议内容重启tomcat,就会看到协议已经换成apr
lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.16 using APR version 1.6.5.如果是CentOS7,apr、openssl直接yum安装即可使用,省去很多编译安装的繁琐步骤转载于:https://blog.51cto.com/kouhao/2336218