`
matt.u
  • 浏览: 130284 次
  • 性别: Icon_minigender_1
  • 来自: CQ
社区版块
存档分类
最新评论

Tomcat整合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%都不到,绝大部分时间都用来页面传输。

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/目录,

# wget   http://apache.freelamp.com/apr/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


默认会在/usr/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中加入

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

APR的存档下载站点:
http://archive.apache.org/dist/apr/%20
分享到:
评论

相关推荐

    tomcat apr

    标题中的“tomcat apr”指的是Apache Tomcat服务器与Apache Portable Runtime (APR) 的整合。Apache APR是一个库,它提供了一种原生接口,让Java应用程序可以更好地利用操作系统的功能,比如TCP/IP套接字、多线程、...

    apache+tomcat整合.pdf

    在讨论Apache与Tomcat的整合之前,首先需要了解Apache和Tomcat的基本概念。Apache HTTP Server(通常简称为Apache)是一个广泛使用的开源网页服务器,它非常擅长处理静态内容,如HTML页面和图片等。而Tomcat是一个...

    Windows下Apache2.2 + Tomcat5.5 + Apr配置备忘录

    在完成上述步骤后,你就成功地在Windows上配置了一个整合了Apache2.2、Tomcat5.5和Apr的Web服务器环境。这个环境不仅能处理静态文件,还能高效运行Java Web应用,为开发者和用户提供了一种强大的Web服务解决方案。...

    APR based Apache Tomcat Native library 1.1.14.

    3. **更好的系统整合**:使用APR,Tomcat能够更好地与其他基于APR的Web服务器(如Apache HTTP Server)集成,实现更灵活的部署架构,例如反向代理或负载均衡设置。 4. **异步I/O支持**:APR提供了非阻塞I/O模型,...

    Apache与tomcat整合、性能、集群、测试.pdf

    Apache与Tomcat整合是一个技术实现方案,它涉及将Apache Web服务器与Apache Tomcat应用服务器结合起来,以创建一个能够处理静态内容的Web服务器和处理动态内容的Web应用服务器的组合。这种整合的目的是让Apache...

    tomcat+apache整合插件大全及整合方法

    mod_jk是Apache与Tomcat整合的常用工具。 整合步骤如下: 1. **安装和配置APR**: - 下载并解压`apr-0.9.18.tar.gz`或`apr-1.4.2.tar.gz`,然后按照官方文档编译并安装到Apache环境中。 - 对应版本的APR库也需要...

    apache与tomcat整合-完整篇

    ### Apache与Tomcat整合-完整篇 #### 一、引言 在现代Web应用开发中,Apache HTTP Server(简称Apache)和Apache Tomcat是两个非常重要的服务器软件。Apache主要用于提供静态资源服务,如HTML页面、图片等;而...

    apache2.4.3整合tomcat

    Apache 2.4.3 和 Tomcat 的整合是将 Apache 作为前端服务器处理静态内容,而将动态内容的处理交给后端的 Tomcat 应用服务器。这种集成方式可以充分利用 Apache 的高性能和 Tomcat 对 Java 应用的良好支持。下面我们...

    最新的tomcat 和apache 整合 集群 优化

    ### 最新的Tomcat与Apache整合集群优化 #### 一、Apache与Tomcat的整合 Apache与Tomcat的整合主要是为了实现动态内容与静态内容的有效分离,通过Apache作为前端的反向代理服务器,来处理静态资源的请求,而将动态...

    RHEL5 +Apache2.2.6+Tomcat5.5.26整合

    # ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr-lib=/usr/local/apache/bin --with-tomcat=/usr/local/tomcat-5.5 --with-java-home=/usr/java/jdk1.6.0_03 ``` 若在此过程中遇到关于系统时间或...

    RHEL6下Apache和Tomcat安装整合

    在RHEL6操作系统中,Apache和Tomcat的安装整合是一个常见的任务,这使得Apache能够作为一个Web服务器处理静态内容,而Tomcat则负责处理动态内容,如JSP程序。以下是详细的步骤: 1. **Apache的安装**: - 首先,你...

    tomcat-connectors-1.2.32-src.tar.gz

    这个名为“tomcat-connectors-1.2.32-src.tar.gz”的压缩包包含了用于在Linux环境下进行Apache和Tomcat整合的源代码,让我们一起深入探讨其背后的原理和操作步骤。 一、Apache Tomcat Connectors简介 Apache ...

    centos下用JK整合TOMCAT和Apache的多子站WEB服务器方法.doc

    在CentOS 6.4 64位操作系统中,整合Apache和Tomcat以实现多子站的WEB服务,通常会采用JK模坓(mod_jk)作为连接器,这可以提高性能并解决通过代理访问时可能出现的不稳定性。JK模块是Apache Tomcat Connectors的一...

    apache代理实现整合多个tomcat

    Apache 代理实现整合多个 Tomcat 是一种常见的 web 服务器架构策略,它允许通过单一的 Apache 服务器来管理和分发来自不同 Tomcat 实例的请求。这样做的好处包括简化对外服务的 URL、负载均衡以及集中化的安全管理。...

    apache-tomcat-7.0.40官方安装包

    - Tomcat可以与Apache HTTP Server或其他Web服务器通过mod_jk、mod_proxy_ajp等模块进行整合,实现负载均衡和反向代理。 总之,Apache Tomcat 7.0.40为开发者提供了一个强大而灵活的平台来运行和管理Java Web应用...

    jdk11和Tomcat9.zip

    【标题】"JDK11与Tomcat9的整合与应用" 在Java开发领域,JDK(Java Development Kit)和Tomcat服务器是两个至关重要的组件。JDK是Oracle公司提供的用于开发和运行Java应用程序的软件包,而Tomcat则是一个开源的、轻...

    Tomcat面试题(相关面试问题整合)

    主要包括Catalina(Servlet容器)、Jasper(JSP引擎)、 Coyote(HTTP/HTTPS连接器)和Apr(Apache Portable Runtime)等。 4. **Tomcat的部署流程是什么?** 部署通常涉及以下步骤:配置server.xml以设置端口号...

    Tomcat文件包

    - Tomcat可以与Apache HTTP Server通过mod_jk或mod_proxy进行整合,实现负载均衡和更好的静态资源处理。 10. **日志与监控**: - 使用`logging.properties`配置日志级别和输出。 - 集成JMX(Java Management ...

Global site tag (gtag.js) - Google Analytics