tomcat修改成apr模式
tomcat中 有三种运行模式,分别是:bio,nio,apr
bio是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发的场景 (tomcat7 默认方式)
tomcat启动时, catalina.out日志文件里有
["http-bio-8080"]
["ajp-bio-8009"]
nio是基于java中非阻塞IO操作的API实现,比传统的i/o处理方式有更高的并发运行性能,启动时可以看到:(在Tomcat 8以上版本,默认就是使用NIO模式,不需要做额外的修改)
tomcat启动时, catalina.out日志文件里面应该有以下内容
27-Dec-2018 16:55:22.389 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
27-Dec-2018 16:55:22.414 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
27-Dec-2018 16:55:22.427 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1929 ms
apr是从操作系统级别解决异步IO问题,大幅度提高服务器的并发处理性能,也是Tomcat生产环境运行的首选方式
tomcat启动时, catalina.out日志文件里面应该有以下内容
27-Dec-2018 16:33:52.767 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8081"]
27-Dec-2018 16:33:52.774 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8085"]
27-Dec-2018 16:33:52.776 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 5911 ms
1.系统版本
[root@VM_0_5_centos tool]# uname -a
Linux VM_0_5_centos 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@VM_0_5_centos tool]# cat /etc/redhat-release
CentOS release 6.9 (Final)
tomcat 版本是8
2.下载
apr-1.6.2.tar.gz http://archive.apache.org/dist/apr/apr-1.6.2.tar.gz (http://archive.apache.org/dist/apr/)
openssl-1.1.1.tar.gz https://www.openssl.org/source/openssl-1.1.1.tar.gz (https://www.openssl.org/source/)
tomcat-native-1.2.17-src.tar.gz http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/native/1.2.17/source/tomcat-native-1.2.17-src.tar.gz (http://tomcat.apache.org/download-native.cgi)
3.安装
①
tar -xf apr-1.6.2.tar.gz
cd apr-1.6.2
./configure --prefix=/usr/local/apr
make&&make install
②
tar -xvzf openssl-1.1.1.tar.gz
cd tar -xvzf openssl-1.1.1
cd openssl-1.1.1
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make && make install
③
tar -xvzf tomcat-native-1.2.17-src.tar.gz
cd tomcat-native-1.2.17-src/native
./configure --with-ssl=/usr/local/openssl
make && make install
4.修改环境变量
vim /ect/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib
source /etc/profile
5.重启tomcat catalina.out可以看到http已经以apr模式启动了