# cd /usr/local/src# wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz# tar -xzvf apr-1.5.2.tar.gz# cd apr-1.5.2# ./configure --prefix=/usr/local/apr# make # make install
# cd /usr/local/src# wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz# tar -xzvf apr-util-1.5.4.tar.gz# cd apr-util-1.5.4# ./configure --with-apr=/usr/local/apr# make # make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
安装 tomcat-native组件
/usr/local/tomcat/bin
tar -xzvf tomcat-native.tar.gz
cd tomcat-native-1.2.7-src/native
./configure --with-apr=/usr/local/apr
//出现如下错误//Found OPENSSL_VERSION_NUMBER 0x1000105f (OpenSSL 1.0.1e 11 Feb 2013)//Require OPENSSL_VERSION_NUMBER 0x1000200f or greater (1.0.2)//configure: error: Your version of OpenSSL is not compatible with this version of tcnative
# cd /usr/local/src# wget https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz# tar -xzxf openssl-1.0.2-latest.tar.gz# cd openssl-1.0.2g# ./config --prefix=/usr/local/openssl -fPIC// 注意这里需要加入 -fPIC参数,否则后面在安装tomcat native 组件会出错// 注意:不要按照提示去运行 make depend# make# make install# mv /usr/bin/openssl ~# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl# openssl version// 确认版本信息是1.0.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
重新安装 tomcat-native组件
# cd $CATALINA_HOME/bin# tar -xzvf tomcat-native.tar.gz# cd tomcat-native-1.2.7-src/native# ./configure --with-apr=/usr/local/apr --with-ssl=/usr/local/openssl# make # make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
检查是否安装成功
# cd $CATALINA_HOME# cd bin# ./catalina.sh run
//查看输入信息,如果有以下内容,说明安装成功
//20-Jun-201612:28:32.859 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.7 using APR version 1.5.2.
//20-Jun-201612:28:32.859 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
//20-Jun-201612:28:32.862 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.2g 1 Mar 2016)