linux下tomcat使用apr连接器(含openssl)完整过程

介绍


Apache Portable Runtime 简称 APR 是一个高度可移植性库,它有许多用途,举例如下:
1.访问高级IO功能(如sendfile epoll和OpenSSL)
2.操作系统级别的功能(随机数生成、系统状态等)
3.本地流程处理(共享内存,NT管道和Unix套接字)

Tomcat使用APR可以提供优越的可伸缩性、性能、本地服务器集成等。

准备

1.openssl-1.0.1h.tar.gz
  下载地址:http://www.openssl.org/source/
2.apr-1.5.1.tar.gz
  下载地址:http://apr.apache.org/download.cgi
3.apache-tomcat-7.0.30.tar.gz
  下载地址:http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.30/bin/

安装

1.安装openssl

tar zxvf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config --prefix=/home/wangpl/Desktop/installdir/myopenssl
make
make install
可选:
make clean
make distclean
cd ..
rm -rf openssl-1.0.1h

2.安装apr

tar zxvf apr-1.5.1.tar.gz
cd apr-1.5.1
./configure --prefix=/home/wangpl/Desktop/installdir/myapr
make
make install
可选:
make clean
make distclean
cd ..
rm -rf apr-1.5.1

3.安装tomcat的JNI wrappers

此文件随tomcat一起发布,位于:apache-tomcat-7.0.30/bin/tomcat-native.tar.gz
tar zxvf apache-tomcat-7.0.30.tar.gz
cd apache-tomcat-7.0.30/bin/
tar zxvf tomcat-native.tar.gz
cd tomcat-native-1.1.24-src/jni/native/
./configure --prefix=/home/wangpl/Desktop/installdir/mytcnative --with-apr=/home/wangpl/Desktop/installdir/myapr --with-ssl=/home/wangpl/Desktop/installdir/myopenssl
make
make install
可选:
make clean
make distclean
cd ../../..
rm -rf tomcat-native-1.1.24-src/

4.配置tomcat

PS:如果没配置apr,tomcat启动日志中有这样一条:INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found
编辑apache-tomcat-7.0.30/bin/catalina.sh,在首行添加:
CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/home/wangpl/Desktop/installdir/mytcnative/lib"
PS:-Djava.library.path是java的一个标准-D参数,目的是指定应用程序的jni本地库路径,详细:http://blog.csdn.net/conquer0715/article/details/33728113
添加完tcnative-libs本地库路径后启动tomcat,看到有如下日志输出:
INFO: Loaded APR based Apache Tomcat Native library 1.1.24 using APR version 1.5.1.
Jul 17, 2014 4:06:39 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Jul 17, 2014 4:06:39 PM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.1h 5 Jun 2014)
...
INFO: Starting ProtocolHandler ["http-apr-8080"]
Jul 17, 2014 4:06:40 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]

表示当前使用APR version 1.5.1和OpenSSL 1.0.1h,并且8080和8009连接也由原来的bio变成了apr类型。

配置使用openssl通信:
编辑apache-tomcat-7.0.30/conf/server.xml,添加如下:
<Connector port="8443" maxHttpHeaderSize="8192"
         maxThreads="150" enableLookups="false" disableUploadTimeout="true" acceptCount="100"
         SSLEnabled="true" scheme="https" secure="true"
         SSLCertificateFile="${catalina.base}/conf/server-cert.pem"
         SSLCertificateKeyFile="${catalina.base}/conf/server-key.pem"
         SSLPassword="" />
PS:server-cert.pem证书和server-key.pem私钥由openssl生成。
PS:在server.xml文件中有这样一句:<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
其中SSLEngine="on"表示是否使用OpenSSL,on表示是,会在启动的时候初始化OpenSSL,可以从日志中看到,off表示否,不会在启动时候初始化,从日志中将看不到信息。
注意,设置为on表示是会初始化已备使用,但是必需配置对应的Connector(如上面提到的8443的Connector)才能真正使用。

最后说一下,linux平台使用“./configure --prefix=xx make make install”形式安装后的软件,是可以更改目录的,但在更改的时候要将原目录内所有的原先的绝对路径改成新的绝对路径,可以使用sublime或其它软件
打开软件目录,然后全局搜索用新的地址替换旧的地址即可。注意在跨机器的情况下一般是不可用的,否则就直接发布绿色版了(个人见解)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值