apr 官方介绍:

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来提高其性能。
 
 
 
说白了,就是如何 在Tomcat中使用JNI的方式来读取文件以及进行网络传输。这个东西可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式 传输的话,也可以提升SSL的处理性能。
 
安装方式
 
在Window下安装
 
1. 首先下载 tcnative-1.dll
    下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.1.19/binaries/win32/
 
2. 直接拷贝tcnative-1.dll到TOMCAT_HOME/bin目录下,启动即可
 
3. 验证是否启动
    看见类似这样的信息
  1. 2011-7-20 15:17:05 org.apache.catalina.core.AprLifecycleListener init
  2. 信息: Loaded APR based Apache Tomcat Native library 1.1.20.
  3. 2011-7-20 15:17:05 org.apache.catalina.core.AprLifecycleListener init
  4. 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
  5. 2011-7-20 15:17:05 org.apache.coyote.http11.Http11AprProtocol init
    就证明 apr 已启动
 
在Linux下安装
 
1. 下载所需的包
到http://apr.apache.org/下载下面3个包 
apr-1.4.5.tar.gz 
apr-iconv-1.2.1.tar.gz 
apr-util-1.3.12.tar.gz
 
到 http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.1.20/source/ 下载
tomcat-native-1.1.20-src.tar.gz
 
2.  安装
 
a.  安装 apr
  1. tar zxvf apr-1.4.5.tar
  2. cd apr-1.4.5
  3. ./configure --prefix=/usr/local/apr
  4. make
  5. make install
 b. 安装 apr-iconv
  1. tar -zxvf apr-iconv-1.2.1.tar.gz
  2. cd apr-iconv-1.2.1
  3. ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
  4. make
  5. make install
 c. 安装 apr-util
  1. tar zxvf apr-util-1.3.12.tar.gz
  2. cd apr-util-1.3.12
  3. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
  4. make
  5. make install

d. 安装 tomcat-native

  1. tar zxvf tomcat-native-1.1.20-src.tar.gz
  2. cd tomcat-native-1.1.20-src/jni/native
  3. ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_23
  4. make
  5. make install
3. 添加环境变量
 
vi /etc/profile #在文件末尾处添加下面的变量 
# apr 
export LD_LIBRARY_PATH=/usr/local/apr/lib
然后执行下面命令,使环境变量即时生效 
source /etc/profile
 
4. 验证
 
启动Tomcat  :
TOMCAT_HOME/bin/start.sh 
more TOMCAT_HOME/logs/catalina.out

看到类似这样的信息

  1. Jul 20, 2011 15:27:32 PM org.apache.catalina.core.AprLifecycleListener init
  2. INFO: Loaded APR based Apache Tomcat Native library 1.1.20.

就证明 apr 启动成功了。

 
转自:http://pengranxiang.iteye.com/blog/1128905

为 Tomcat 安装 apr的更多相关文章

  1. Tomcat 安装APR的有关问题

    Tomcat 安装APR的问题APR.APR-util.APR-iconv安装都正常apr安装命令:./configuremakemake install apr-util./configure -- ...

  2. tomcat安装apr优化

    APR是apache的一个linux操作系统级优化库,可以在tomcat中使用操作系统级native调用大大提高并发处理效率 先安装前置依赖: yum install -y apr-devel ope ...

  3. tomcat安装apr报错解决

    参考http://www.cnblogs.com/nuccch/p/7598361.html 1.no c complie 安装gcc解决 2.rm: cannot remove `libtoolT' ...

  4. 为tomcat 安装 native 和配置apr

    yum install -y apr-devel openssl-devel gcc 安装native cd /lxyy/tomcat7/bin tar zxvf tomcat-native.tar. ...

  5. 安装Tomcat的Apr

    转:http://www.cnblogs.com/littlehb/archive/2013/04/02/2994785.html 安装Tomcat的Apr,提升性能 发现 Tomcat 可以用 Ap ...

  6. centos6.3(64位) 安装apr

    安装apr来提高tomcat 的可伸缩性和性能 ? 1 cd /usr/local/ 1  下载apr 和 apr-util最新版 ? 1 2 3 wget  http://apache.fayea. ...

  7. 转载--tomcat整合apr

    原文地址: http://zhaosheng.wolf.blog.163.com/blog/static/115304589201212845341723/ APR(Apache Portable R ...

  8. Centos下Tomcat 安装Apache Portable Runtime

    APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心. APR有很多用途,包括访问高级IO功能(例如sendfile,epo ...

  9. Tomcat 使用apr优化

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

随机推荐

  1. jquery最精简的全选反选功能

    RT代码: function selallno(){ $('#form2 input[name=sel]:checkbox:not(:checked)').attr('checked',$('#for ...

  2. 【LOJ】#2065. 「SDOI2016」模式字符串

    题解 按秩合并怎么清数组对我来说真是世纪性难题 我们很熟练地想到点分,如果我们认为某个点到重心是正着读的,由于它的深度固定,它的串也是固定的,我们只要预处理出所有长度正着重复的串,反着重复的串,和它们 ...

  3. 【51nod】1822 序列求和 V5

    题解 我是zz吧 nonprime[i * prime[j]] = 0 = = 还以为是要卡常,卡了半天就是过不掉 我们来说这道题-- 首先,我们考虑一个\(K^2\)做法 \(f_{k}(N) = ...

  4. 【LOJ】 #2305. 「NOI2017」游戏

    题解 枚举x所在的地图的颜色,然后2-SAT建边 如果v所在的地图刚好是不能选的,那么u这边只能选另一种颜色 否则就是u的颜色到v的颜色 v的另一种颜色到u的另一种颜色 代码 #include < ...

  5. hdoj1102 Constructing Roads(Prime || Kruskal)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1102 题意 有n个村庄(编号1~n),给出n个村庄之间的距离,开始时n个村庄之间已经有了q条路,现在需 ...

  6. PHP编程基础学习(一)——数据类型

    PHP一共支持8种原始类型,其中: 4种标量类型: boolean(布尔型) integer(整型) float/double(浮点型) string(字符串型) 两种复合类型: array(数组) ...

  7. NetCore+Dapper WebApi架构搭建(五):Swagger构建WebApi界面

    上一节讲解了仓储的依赖注入,想必现在都可以通过构造函数依赖注入直接调用 但是WebApi只是提供一个接口调用,为了方便我们的操作,我们得给他加上一个图形化界面工具,使用Swagger WebApi项目 ...

  8. Linux系统内存管理

    <linux 内存管理模型> 下面这个图将Linux内存管理基本上描述完了,但是显得有点复杂,接下来一部分一部分的解析. 内存管理系统可以分为两部分,分别是内核空间内存管理和用户空间内存管 ...

  9. java的多线程之四(线程的操作)

    本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17560467,转载请注明. 线程中断    线程中断涉及到三个方法,如下 ...

  10. JDK源码学习笔记——Enum枚举使用及原理

    一.为什么使用枚举 什么时候应该使用枚举呢?每当需要一组固定的常量的时候,如一周的天数.一年四季等.或者是在我们编译前就知道其包含的所有值的集合. 利用 public final static 完全可 ...