Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法
环境:Centos7.2、Tomcat-7.0.72、JDK1.7.0.80
记录:公司最近上线一些新项目,由Java开发,在编译安装Tomcat的APR模式后,运行一段时间,在一次更换代码过程中卡在
如图:
一、尝试方法:升级openssl
1、初始怀疑是由于openssl版本问题导致,本人尝试编译openssl1.0.2-k以上的版本都无法解决问题,网上度过很多方案都无法解决,困扰本人至少有一周之久。
二、解决思路——>查找系统openssl、apr版本——>去官网下载对应版本进行编译
既然卡在这个地方说明tomcat在启动过程中依赖的是系统底层openssl及依赖库版本,用命令“rpm -qa|grep openssl”结果如图
1、查看系统默认openssl版本,这个1.0.1e的版本已经非常老了,所以我们要进行升级
2、升级openssl,使用系统自带的yum源升级,使用yum会将openssl底层依赖的Lib库全安装上
yum install -y openssl 再次查看,openssl已经升级到openssl-1.0.2k,那我们就去官网下载这个版本进行编译
3、进行编译:openssl下载地址:https://www.openssl.org/source/old/1.0.2/
#tar xvf openssl-1.0.2k.tar.gz
#./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
#make && make install
4、对系统默认apr进行升级(如果不知道APR是什么?,请自行百度tomcat编译安装),
4.1:查看系统版本
#yum install -y apr 升级后的版本为1.4.8
4.2:下载对应apr版本并进行编译
下载地址:http://archive.apache.org/dist/apr/ ,找到对应版本进行下载
#tar xvf apr-1.4.8.tar.gz 1、解压
#cd apr-1.4.8 2、进入目录
#./configure --prefix=/usr/local/apr 3、编译
#make && make install
4.3 配置apr环境变量
5、编译Tomcat7.0.72
#tar xvf apache-tomcat-7.0.72.tar.gz 1、解压
#cd apache-tomcat-7.0.72/bin/apache-tomcat-7.0.72-8081-zbes/bin/tomcat-native-1.2.8-src/native 2、进入编译目录
#./configure --with-apr=/usr/local/apr --with-openssldir=/usr/local/openssl --with-java-home=$JAVA_HOME 3、编译
#make && make install
三、启动Tomcat再次尝试是否已经解决