tomcat 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服务器的时候,您应该使用TomcatNative来提高其性能,详细配置和安装请参考Tomcat文档。

 

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

信息: The APR based ApacheTomcat Native library which allows optimal performance in productionenvironments 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 

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/tomcat-6.0.18/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.6.0_11

5.        make 

6.        make install

 

设置 apr 的环境变量:

1.        vi /etc/profile

2.        添加以下内容 

APR_HOME=/usr/local/apr/

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$APR_HOME/lib

Export  LD_LIBRARY_PATH

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

 

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

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

exportLD_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     100enableLookups=”false”  默认true

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

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

debug=”0″

URIEncoding=”UTF-8″

/>

 

 

相关推荐