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 文档。

如果没有 apr 技术,启动 tomcat 时出现如下提示:

信息 : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_06/jre/lib/i386/client:/usr/java/jdk1.6.0_06/jre/lib/i386:/usr/java/jdk1.6.0_06/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib

按照官方说明需要:

* APR library

* OpenSSL libraries

openssl 可以用 yum install openssl-devel , apr 还是下载 *.gz 来安装。

apr-1.3.2.tar.gz

apr-util-1.3.2.tar.gz

两个可以在 http://apache.mirror.phpchina.com/apr/ 找到。

tomcat-native.tar.gz 可以在 tomcat/bin 目录下找到。

下面是 APR 的配置过程:

安装 apr

1. tar zxvf apr-1.3.2.tar.gz

2. cd apr-1.3.2

3. ./configure --prefix=/usr/local/apr

4. make

5. make install

apr 默认安装在 /usr/local/apr

安装 apr-util

1. tar zxvf apr-util-1.3.2.tar.gz

2. cd apr-util-1.3.2

3. ./configure --with-apr=/usr/local/apr

4. make

5. make install

安装 tomcat-native

1. cd /usr/local/tomcat7.myweb/bin

2. tar zxvf tomcat-native.tar.gz

3. cd tomcat-native-1.1.14-src/jni/native

4. ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.7.0_60

5. make

6. make install

设置 apr 的环境变量:

1. vi /etc/profile

2. 添加以下内容

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$APR_HOME/lib

3. 使配置生效 source /etc/profile

为不影响其他 tomcat的配置,我们不采用上面的设置方法,而是直接在 tomcat的 bin下的 catalina.sh中加入如下配置:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

export LD_LIBRARY_PATH

启动 tomcat 后,看日志,有如下一行:

信息 : APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

-------------------------------------------------------------------------------------------------

创建高线程的 Connector :

<Connector port=”8080 ″ redirectPort=”8443 ″
maxThreads=”5000 ″  默认 200 300

minSpareThreads=”1000 ″ 默认 4 50

maxSpareThreads=”4000 ″ 默认50 100
enableLookups=”false”  默认 true

acceptCount=”3500 ″ 默认10 50
compression=”on”  默认 off

compressableM imeType=”text/html,text/xml,text/javascript,text/css,text/plain” 默认 text/html,text/xml,text/plain
connectionTimeout=”60000 ″ 默认 60000

debug=”0 ″

URIEncoding=”UTF -8 ″

/ >

tomcat APR的配置的更多相关文章

  1. Linux下配置tomcat+apr+native应对高并发

    摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...

  2. (转)Linux下配置tomcat+apr+native应对高并发

    摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...

  3. Tomcat 8.5 apr 模式配置

    tomcat APR模式配置 一.环境 操作系统:Ubutnu 14 ubuntu@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50~14.04 ...

  4. tomcat 的优化配置

    一.关于并发连接量的配置 在tomcat的server.xml配置文件中:将<Connector port="8080" protocol="HTTP/1.1&qu ...

  5. Tomcat server.xml配置示例

    本文由 ImportNew 几乎所有容器类型的应用都会包含一个名为 server.xml 的文件结构.基本上,其中的每个元数据或者配置都是容器完成初始化所需要的.正是由于这些内容都是可配置的,使得软件 ...

  6. Tomcat 7.0配置SSL的问题及解决办法

    http://dong-shuai22-126-com.iteye.com/blog/1830209   以前一直在用Tomcat 6.0.29版本,今下载了apache-tomcat-7.0.33- ...

  7. Linux+Apache+Tomcat集群配置

    参考: http://blog.csdn.net/bluishglc/article/details/6867358# http://andashu.blog.51cto.com/8673810/13 ...

  8. Nginx与Tomcat安装、配置与优化

    Nginx与Tomcat安装.配置与优化 Nginx与Tomcat安装.配置与优化 Nginx的安装与使用 Nginx是一款优秀的反向代理服务器 安装: rpm(或者是pkg安装),是预编译好的程序包 ...

  9. Tomcat access log配置

    在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP.线程号.访问url.返回状态码.访问时间.持续时间. 在Spring boot中使用了内嵌的tomcat, ...

随机推荐

  1. vue-cli 中的静态资源处理

    你会注意到在项目结构上我们有静态资源两个目录:src/assets 和 static/.它们之间有什么区别? 1. 通过webpack处理的资源 要回答这个问题,我们首先需要了解webpack如何处理 ...

  2. Ionic 安装最新版本错误

    更新Ionic版本时 npm i -g ionic@latest 出现如下错误 npm ERR! Unexpected end of input at 1:14782 如下图 解决方法 使用如下命令: ...

  3. python3 urllib

    1.获取页面内容 第一种方式: import urllib.request url = 'https://www.baidu.com/' r = urllib.request.urlopen(url) ...

  4. ubuntu初次设置root密码

    初次安装ubuntu创建的用户不是root用户,但是需要root权限的时候又需要密码,那么如何设置密码呢? 很简单.如下几步操作

  5. jni头文件自动生成

    写一个测试代码,大概如下 package aa.bb; public class TestClass { public native void aaaBBB(); } 在项目的src目录下执行 jav ...

  6. Oracle学习操作(3)

    一.if条件语句 set serverout on; ; v ):='world'; begin dbms_output.put_line('hello'||n||v); end; / hello1w ...

  7. openstack 环境搭建

    python单步调试配置(eclipse+pydev+keystone-2014.1.b2),catch捕获异常的时候eclipse里面也会中断的:建议搞个全新的eclipse解压缩副本,专门调试op ...

  8. Linux 简单命令查询CPU、内存、网卡等信息

    [转自]Linux查询CPU.内存.网卡等信息 看CPU信息(型号)# cat /proc/cpuinfo | grep name | cut -f2 -d: |uniq -c      1  Int ...

  9. 怎样使用 css 的@media print控制打印

    怎样使用 css 的@media print控制打印? <HTML> <HEAD> <TITLE> New Document </TITLE> < ...

  10. 超链接中 utm_source, utm_medium 等参数的含义是什么?

    作者:张溪梦 Simon链接:https://www.zhihu.com/question/48724061/answer/122730629来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...