tomcat中apr的配置
安装APR
安装libssl-dev:(如果没有安装会出现错误如:fatal error: openssl/opensslv.h: No such file or directory。都是没有安装libssl-dev~
libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl对ssl进行了实现~)
如果没做这一步,那么在最后make的时候会出现错误:
/apache-tomcat-7.0.54/bin/tomcat-native-1.1.30-src/jni/native# make
make[1]: Entering directory `/usr/local/tomcat/apache-tomcat-7.0.54/bin/tomcat-native-1.1.30-src/jni/native'
/bin/bash /usr/local/apr/build-1/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -DHAVE_OPENSSL -I/usr/local/tomcat/apache-tomcat-7.0.54/bin/tomcat-native-1.1.30-src/jni/native/include -I/usr/local/jdk/jdk1.7.0_60/include -I/usr/local/jdk/jdk1.7.0_60/include/linux -I/usr/bin/include -I/usr/local/apr/include/apr-1 -o src/ssl.lo -c src/ssl.c && touch src/ssl.lo
In file included from src/ssl.c:30:0:
/usr/local/tomcat/apache-tomcat-7.0.54/bin/tomcat-native-1.1.30-src/jni/native/include/ssl_private.h:43:30: fatal error: openssl/opensslv.h: No such file or directory
#include <openssl/opensslv.h>
^
compilation terminated.
make[1]: *** [src/ssl.lo] Error 1
make[1]: Leaving directory `/usr/local/tomcat/apache-tomcat-7.0.54/bin/tomcat-native-1.1.30-src/jni/native'
make: *** [all-recursive] Error 1
因此,在开始下面步骤之前,请先安装libssl-dev
apt-get install libssl-dev
从http://apr.apache.org/download.cgi下载apr,apr-util,apr-iconv.
传输完安装apr:
tar zxvf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/usr/local/apr make make install
安装apr-iconv:
tar zxvf apr-iconv-1.2.1.tar.gz cd apr-iconv-1.2.1 ./configure --with-apr=/usr/local/apr make make install
安装apr-util:
tar zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --with-apr=/usr/local/apr make make install
安装tomcat-native:首先到tomcat/bin目录下,找到对应的tar文件.
tar zxvf tomcat-native.tar.gz
cd tomcat-native-1.1.30-src/jni/native/
./configure
--with-apr=/usr/local/apr
--with-java-home=/usr/local/jdk/jdk1.7.0_60
--with-ssl=/usr/bin
make
make install
备注:
--with-java-home 后面是本机的jdk安装目录
参数--with-ssl=/usr/bin 必须加上,服务器的ssl目录,否则启动tomcat会报错,SEVERE: Failed to initialize the SSLEngine.
org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform
安装完成之后 会出现如下提示信息
Libraries have been installed in: /usr/local/apr/lib
添加环境变量: vi /etc/profile
在文件末尾处添加下面的变量
export LD_LIBRARY_PATH=/usr/local/apr/lib
然后执行下面命令,使环境变量即时生效
source /etc/profile
启动tomcat,你看到如下的信息,表示apr生效
Sep 02, 2014 11:40:01 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.5.1.
Sep 02, 2014 11:40:01 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Sep 02, 2014 11:40:01 AM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.1f 6 Jan 2014)
Sep 02, 2014 11:40:01 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Sep 02, 2014 11:40:01 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 02, 2014 11:40:01 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
Sep 02, 2014 11:40:01 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 734 ms
Sep 02, 2014 11:40:02 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Sep 02, 2014 11:40:02 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.54