Tomcat8如何开启APR运行模式(linux centos)

Tomcat有三种运营模式:bio、nio、apr,不同模式下Tomcat的运行效率差别比较大。

一、bio(blockingIO)

阻塞式IO,Tomcat6及以前版本默认运行模式,性能非常低下,没有经过任何优化处理。

二、nio(noblocking IO)

非阻塞式IO,Tomcat7以后的版本默认运行模式,利用Java异步IO技术使Tomcat运行性能有所提升。

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <Connector port="8080" protocol="HTTP/1.1"  
  2.                connectionTimeout="20000"  
  3.                redirectPort="8543" />  

如果要在Tomcat6开启NIO模式,直接修改server.xml里的Connector节点,修改protocol为 

org.apache.coyote.http11.Http11NioProtocol,启动生效。

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <Connector port="8080"              protocol="org.apache.coyote.http11.Http11NioProtocol"  
  2.                connectionTimeout="20000"  
  3.                redirectPort="8543" />  

Tomcat8默认配置启动完后最后三行日志如下:

http-nio-8180
ajp-nio-8109
说明默认以nio模式运行。

三、apr(Apache Portable Runtime)

从操作系统级别来解决异步的IO问题,大幅度的提高性能。

必须要安装apr和native,直接启动就支持apr。

安装apr

apr需要APR库和OpenSSL相关库。

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. yum install apr-devel openssl-devel  

安装native

进入Tomcat的bin目录,比如:

/opt/soft/tomcat_8180/bin

解压native源码包

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. tar -zxvf tomcat-native.tar.gz  
  2. cd tomcat-native-1.1.32-src/jni/native  
  3. ./configure--with-apr=/usr/bin/apr-1-config--with-java-home="/opt/soft/jdk1.8.0_60" --with-ssl=yes  
  4. make  
  5. make install   
native 会被安装到/usr/local/apr/lib

我们需要把/usr/local/apr/lib/ libtcnative-1.so.0.1.32指向Tomcat可识别路径。

配置apr包到Tomcat可识别的路径

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. 15-Apr-2016 22:18:54.209 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent   
  2. The APR based Apache Tomcat Native library which allows optimal performance in production environments   
  3. was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib  

Tomcat8默认apr是开启的,配置在server.xml

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />  
是由于操作系统未安装apr或者apr路径未指到Tomcat默认可识别的路径,则apr模式无法启动,自动切换启动nio模式。

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. cd /usr  
  2. mkdir java  
  3. cd java/  
  4. mkdir packages  
  5. cd packages/  
  6. mkdir lib  
  7. cd lib/  
  8. mkdir amd64  
  9. cd amd64/  

把/usr/local/apr/lib/ libtcnative-1.so.0.1.32软链接到上面创建的目录。

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. ln -s  /usr/local/apr/lib/libtcnative-1.so.0.1.32 libtcnative-1.so  
  2. ln -s  /usr/local/apr/lib/libtcnative-1.so.0.1.32 libtcnative-1.so.0  

重新启动Tomcat看到启动日志最后三行


http-apr-8180
ajp-apr-8109
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值