Apache Tomcat Native library 是干什么的呢?
这是 Apache 为了提升 Tomcat 的性能搞的一套本地化 Socket, Thread, IO 组件也就是说它有高级 IO 功能, 操作系统级别的功能调用, 以及本地进程处理等等, 这些都能使 Tomcat 更像一个 Web Server(像Apache那样), 而不是只能用来解释JSP, 也就是说提升单独的 Tomcat 作为服务器的吞吐性能.
    一般情况下,APR开发包很轻易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及 apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。
apr包含了一些通用的开发组件,包括mmap,文件等等,前面已经描述过。
apr-util也是包含了一些常用的开发组件。这些组件与apr目录下的相比,它与apache的关系更加密切一些。比如存储段和存储段组,加密等等。
apr-iconv包中的文件主要用于实现iconv编码。目前的大部分编码转换过程都是与本地编码相关的。在进行转换之前必须能够正确地设置本地编码。因此假如两个非本地编码A和B需要转换,则转换过程大致为A->Local以及Local->B或者B->Local以及 Local->A。
XPG2 标准中另外定义了一组全新的函式接口ICONV,该接口是一种更广义的字集转换系统。也是一个与本地编码无关的字集转换系统。APR中也支持这种字集转换系统,为此它提供了完整的实现。Apr-iconv正是为此目的而产生。
1、安装apr
# tar zxvf apr-1.3.8.tar.gz
# cd apr-1.3.8
# ./configure --prefix=/usr/local/apr
# make
# make install
2、安装apr-iconv
# tar -zxvf apr-iconv-1.2.1.tar.gz
# cd apr-iconv-1.2.1
# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
# make
# make install
3、安装apr-util
# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
# make
# make install
4、安装tomcat-native(tomcat在/usr/local/tomcat)
# cp tomcat-native-1.1.18-src.tar.gz /usr/local/tomcat/bin/
# cd /usr/local/tomcat/bin  
# tar zxvf tomcat-native-1.1.18-src.tar.gz
# cd tomcat-native-1.1.14-src/jni/native  
# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_17  
# make
# make install
5、设置 apr 的环境变量:
# vi /etc/profile  
后面添加以下内容  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib  
# source /etc/profile
启动 tomcat 后, 看日志:
# more /usr/local/tomcat/logs/catalina.out
Dec 5, 2009 3:25:39 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.18.