原文地址:

http://zhaosheng.wolf.blog.163.com/blog/static/115304589201212845341723/

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来提高其性能。

在http://tomcat.apache.org/tomcat-6.0-doc/apr.html 对APR进行了详细介绍,说白了作用就是如何在 Tomcat中使用JNI的方式来读取文件以及进行网络传输。这个东西可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式传 输的话,也可以提升SSL的处理性能。可以不使用Apache也能提高对静态文件的处理能力。
  Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术.

要测APR给tomcat带来的好处最好的方法是在慢速网络上(模拟 Internet),将Tomcat线程数开到300以上的水平,然后模拟一大堆并发请求。如果不配APR,基本上300个线程狠快就会用满,以后的请求 就只好等待。但是配上APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来。在局域网环境测,就算是 400个并发,也是一瞬间就处理/传输完毕,但是在真实的Internet环境下,页面处理时间只占0.1%都不到,绝大部分时间都用来页面传输。
  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. 2009-12-24 14:17:59 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], r andom [true]. 2009-12-24 14:18:00 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/目录,
  # wget   http://apache.freelamp.com/apr/apr-1.3.9.tar.gz
  #apr-1.3.9.tar.gz
  #tar zxvf apr-1.3.9.tar.gz
  #cd apr-1.3.9
  #./configure
  #make
  #make install
  执行完后,会有提示信息:
  Libraries have been installed in:
    /usr/local/apr/lib
  If you ever happen to want to link against installed libraries
  in a given directory, LIBDIR, you must either use libtool, and
  specify the full pathname of the library, or use the `-LLIBDIR'
  flag during linking and do at least one of the following:
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
      during execution
    - add LIBDIR to the `LD_RUN_PATH' environment variable
      during linking
    - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
    - have your system administrator add LIBDIR to `/etc/ld.so.conf'
  See any operating system documentation about shared libraries for
  more information, such as the ld(1) and ld.so(8) manual pages.
  会在/local生成apr目录, apr-1.3.9 的库安装在/usr/local/apr/lib目录。
  # wget   http://apache.freelamp.com/apr/apr -util -1.3.9.tar.gz
  #apr-util-1.3.9.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组件
  #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.5.0_20
  #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中加入
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr /lib
       vi  /etc/profile
      # 后面添加以下内容
       export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/ local /apr/lib
      # 使profile生效,  
       source  /etc/profile
  3.判断安装成功:
  启动tomcat,看日志
  #bin/startup.sh
  #head  logs/catalina.out
  如果看到下面的启动日志,表示成功。
  2009-12-24 17:34:32 org.apache.coyote.http11.Http11AprProtocol init
  APR的存档下载站点:
  http://archive.apache.org/dist/apr/

转载于:https://www.cnblogs.com/davidwang456/p/3255200.html

转载--tomcat整合apr相关推荐

  1. Tomcat整合APR

    Tomcat整合APR 安装依赖 yum install apr-devel yum install openssl-devel yum install gcc yum install make yu ...

  2. 请求solr服务器未响应,solr与tomcat整合

    一.准备工作:我使用的是tomcat7.0,solr-4.8.1 solr-4.8.1解压后是这样的. 二.开始配置了 1.首先要创建两个文件夹.home和server.我是创建在与solr-4.8. ...

  3. 在Linux下进行Apache+tomcat整合

    今天为大家介绍如何在Linux下进行Apache+tomcat整合,虚拟机版本是Redhat5,ip地址为192.168.1.12,实验步骤如下: 一 安装Jdk 二 安装Apache 三 安装tom ...

  4. 【ssh从零单排】eclipse和tomcat整合配置

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.Tomcat配置       Tomcat是现在比较流行的一种web局域网调试用服务器(我的理解可能不准确) ...

  5. Linux系统下Apache与Tomcat整合

    Linux系统下Apache与Tomcat整合 1.准备,下载需要的文件. 到Apache官方网站下载所需要的文件: httpd-2.2.17.tar.gz apache-tomcat-6.0.32. ...

  6. Tomcat 使用apr优化

    转载自   Tomcat 使用apr优化 最近业务服务器出现了一些问题,Nginx傲娇了,准备把加Nginx插件上的一些处理逻辑扔到后端的Tomcat的业务处理里面去,考虑到tomcat目前本来就压力 ...

  7. tomcat整合apache

    历时4个多小时,最终把tomcat与apache整合起来了. 中间出了各种各样的问题,现记录一下,也希望能对后来者有点帮助. 背景 apache与tomcat的差别联系大家都知道: tomcat能处理 ...

  8. Apache+Tomcat整合

     所用软件: 1.httpd-2.2.22.tar.gz 2.tomcat-7.0.23.tar.gz 3.tomcat-connectors-1.2.30.tar.gz 4.jdk-6U21-i58 ...

  9. Linux 下Nginx+Tomcat 完美整合 nginx tomcat 整合方式

    Linux 下Nginx+Tomcat 完美整合 nginx tomcat 整合方式 随着IT行业的不断发展,个人.企业应用对网站的性能也不断的提高,从以前的apache+tomcat整合.weblo ...

最新文章

  1. mysql连接hang住问题分析
  2. About darwin OS
  3. java对xml文件的解析_Java对XML文件的解析
  4. wxWidgets:wxEditableListBox类用法
  5. 优化Linux下的内核TCP参数来提高服务器负载能力
  6. 深信服python面试题_(完整版)往年的深信服笔试题(齐全)
  7. 中国电信5G套餐用户渗透率达到50.4%
  8. Juniper srx系列防火墙端口限速
  9. 理解Android Framework
  10. touch事件的分发和消费机制
  11. Funcode学习笔记:写一个维护性高、扩展性强的框架【By Myself】【C++】
  12. 【笔记】工具 - 输入法 - rime 小狼毫(weasel)
  13. 中国第一程序员求伯君,WPS之父,雷军也佩服的人
  14. Python Pillow(PIL)库的用法介绍
  15. 200行代码实现N子棋(以五子棋为例)
  16. 【华为2019年校园招聘】2019-4-17 软件题-水果摊小买卖
  17. NLM去噪算法的python实现
  18. 2021极术通讯-使用Arm-2D在Cortex-M芯片中实现图形界面
  19. 【Java】枚举类型
  20. pythonapp推荐_初学python编程,有哪些不错的软件值得一用?

热门文章

  1. linux sysctl重启服务,Linux /etc/sysctl.conf重启没有生效
  2. pandas重命名变量名
  3. vspy如何在图形面板显示报文_触想激光切割解决方案中嵌入式工业触控显示器有何优势?...
  4. mysql 22001_mysql ERROR 1264 (22003): Out of range value for column 'x' at row 1 错误
  5. 物品回收平台java代码_java垃圾回收
  6. 全国计算机三级哪个容易一点,给考三级网络的朋友们一点儿真诚的建议
  7. python进展_Python3的介绍和进展-“filter()”“time()”和decorator。,入门,与,进阶,filtertime,装饰,器...
  8. java中treemap释放_81.Java集合之TreeMap
  9. 华为鸿蒙系统确认适配高通,华为鸿蒙系统确认适配高通/联发科手机!曝OV魅族有意采用...
  10. linux驱动由浅入深系列链接