设为首页 收藏本站
查看: 535|回复: 0

[经验分享] tomcat启用apr

[复制链接]

尚未签到

发表于 2017-1-16 09:00:27 | 显示全部楼层 |阅读模式
一、apr简单介绍
tomcat6如果没配置APR,启动时会报这样的警告日志: 

  信息: The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path: D:\Java\jdk 1.6.0_23\bin; 

提示没找到APR的配置,先解释一下APR,APR: Apache Portable Runtime,可看作是Apache轻便运行时,在http://tomcat.apache.org/tomcat-6.0-doc/apr.html 对APR进行了详细介绍,说白了作用就是如何在 Tomcat中使用JNI的方式来读取文件以及进行网络传输。这个东西可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式传输的话,也可以提升SSL的处理性能。可以不使用Apache也能提高对静态文件的处理能力。 

Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术. 
APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心。APR有很多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),OS级别功能(随机数生成,系统状态等等),本地进程管理(共享内存,NT管道和UNIX sockets)。这些功能可以使Tomcat作为一个通常的前台WEB服务器,能更好地和其它本地web技术集成,总体上让Java更有效率作为一个高性能web服务器平台而不是简单作为后台容器。 

在产品环境中,特别是直接使用Tomcat做WEB服务器的时候,应该使用Tomcat Native来提高其性能。 
要测APR给tomcat带来的好处最好的方法是在慢速网络上(模拟Internet),将Tomcat线程数开到300以上的水平,然后模拟一大堆并发请求。如果不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待。但是配上APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来。在局域网环境测,就算是400个并发,也是一瞬间就处理/传输完毕,但是在真实的Internet环境下,页面处理时间只占0.1%都不到,绝大部分时间都用来页面传输。 
二、apr安装步骤
1. Windows环境: 

APR需要安装三个组件: 

    1、APR library 
    2、JNI wrappers for APR used by Tomcat (libtcnative) 
    3、OpenSSL libraries 

从http://tomcat.heanet.ie/native/1.1.14/binaries/win32/ ,下载tcnative-1.1.10.dll,tcnative-1.1.10.dll已经包含了上面的三个组件,所以只要把tcnative-1.1.10.dll拷贝到tomcat的bin下就行了。 

然后启动 tomcat,启动后的信息为:信息: Loaded APR based Apache Tomcat Native library 1.1.14. 2010-12-24 10:02:46 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], r andom [true]. 2010-12-24 10:02:46 org.apache.coyote.http11.Http11AprProtocol init 这说明APR配置成功,已经启用。 

windows中还有一种方式是: 

1.将 tcnative-1.1.10.dll 放于tomcat的同级目录 APR/lib 下; 
2. 修改一下 catalina.bat,加上set CATALINA_OPTS="-Djava.library.path=../../APR/lib",还有就是直接将 tcnative-1.1.10.dll加到系统变量PATH里面,也可以放在 windows/system32 下面。 

2. Linux环境: 

(1).安装APR 
APR需要三个组件: 
   1.apr-1.3.9.tar.gz 
   2.apr-util-1.3.9.tar.gz 
   3.tomcat-native.tar.gz 

从 http://apr.apache.org/download.cgi 上可下载apr-1.3.9.tar.gz和apr-util-1.3.9.tar.gz,tomcat中自带 tomcat-native.tar.gz,将 apr-1.3.9.tar.gz和 apr-util-1.3.9.tar.gz 上传到/usr/local/目录, 

Shell代码   DSC0000.png


  • [size=1em]#tar zxvf apr-[size=1em]1.3[size=1em].[size=1em]9[size=1em].tar.gz  
  • #cd apr-1.3.9  
  • #./configure  
  • #make  
  • #make install  



执行完后,会有提示信息: 
Shell代码  


  • Libraries have been installed in:  
  •    /usr/local/apr/lib  


默认会在/usr/local生成apr目录, apr-1.3.9 的库安装在/usr/local/apr/lib目录。 

Shell代码  


  • [size=1em]#apr-util-[size=1em]1.3[size=1em].[size=1em]9[size=1em].tar.gz  
  • #tar zxvf apr-util-1.3.9.tar.gz  
  • #cd apr-util-1.3.9  
  • #./configure --with-apr=/usr/local/apr    //配置指向apr-1.3.9的安装目录  
  • #make  
  • #make install  


command执行完后,提示信息和 apr-1.3.9的信息相同,表示apr-util-1.3.9 的库也安装在/usr/local/apr/lib目录。 

安装 tomcat-native组件 
Shell代码  


  • #cd /usr/local/tomcat6/bin  
  • #tar zxvf tomcat-native.tar.gz  
  • #cd tomcat-native-1.1.16-src/jni/native  
  • # . /configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_21  
  • #make  
  • #make install  



command执行完的提示信息和安装  apr-1.3.9 的提示相同,表示 tomcat-native 的库 也是安装在 /usr/local/apr/lib目录。 

(2)设置 Tomcat 整合 APR 

有两种方法: 

1.修改 tomcat 的启动 shell ( catalina.sh ),在该文件中加入启动参数: CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib" 

2.也可以在环境变量中配置/etc/profile中加入 

vim     /etc/profile 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr /lib #加入内容 
source  /etc/profile # 使profile生效 

3.判断安装成功: 

启动tomcat,看日志 
#bin/startup.sh 
#tail -f catalina.out 

如果看到下面的启动日志,表示成功。 
2010-12-24 14:25:16 org.apache.coyote.http11.Http11AprProtocol init 


tomcat和APR的存档下载站点: 
http://archive.apache.org/dist/apr/
http://archive.apache.org/dist/tomcat/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-329004-1-1.html 上篇帖子: Tomcat APR安装 下篇帖子: Tomcat with muti instance
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表