Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法

环境:Centos7.2、Tomcat-7.0.72、JDK1.7.0.80       

 

记录:公司最近上线一些新项目,由Java开发,在编译安装Tomcat的APR模式后,运行一段时间,在一次更换代码过程中卡在

如图:

Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法

 

一、尝试方法:升级openssl

 1、初始怀疑是由于openssl版本问题导致,本人尝试编译openssl1.0.2-k以上的版本都无法解决问题,网上度过很多方案都无法解决,困扰本人至少有一周之久。

 

二、解决思路——>查找系统openssl、apr版本——>去官网下载对应版本进行编译

 

既然卡在这个地方说明tomcat在启动过程中依赖的是系统底层openssl及依赖库版本,用命令rpm -qa|grep openssl结果如图

1、查看系统默认openssl版本,这个1.0.1e的版本已经非常老了,所以我们要进行升级

Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法

 

 2、升级openssl,使用系统自带的yum源升级,使用yum会将openssl底层依赖的Lib库全安装上

    yum install -y openssl    再次查看,openssl已经升级到openssl-1.0.2k,那我们就去官网下载这个版本进行编译

Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法

 

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

Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法

 

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环境变量

Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法

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再次尝试是否已经解决

Tomcat7.72启动过程中遇到的Openssl初始化问题及解决方法