参考:https://blog.csdn.net/why101010/article/details/51954827
1:查看当前版本号
openssl version
2:进入工作目录 cd /home/test/
3:获取最新版本 wget http://www.openssl.org/source/openssl-1.0.1t.tar.gz
4:解压缩
tar -zxvf openssl-1.0.1t.tar.gz
5:进入目录 cd openssl-1.0.1t
6:编译安装
./config --prefix=/usr/local/ssl make depend make && make install make clean ./config --prefix=/usr/local/ssl shared zlib make depend make && make install 7:#修改历史的OpenSSL文件设置备份 mv /usr/bin/openssl /usr/bin/openssl.old mv /usr/include/openssl /usr/include/openssl.old 8:#设置软连接使其使用新的OpenSSL版本 刚刚安装的OpenSSL默认安装在/usr/local/ssl ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/include/openssl /usr/include/openssl 9:#更新动态链接库数据
#sed -i '1 i/usr/local/ssl/lib' /etc/ld.so.conf 不加zlib 必须放前边 ldconfig -v 我们再来看看 OpenSSL 版本信息. openssl version OpenSSL 1.0.1t 3 May 2016 如果是 1.0.1t,说明你安装正确了 10:#重新编译nginx 重新编译nginx前要修改两个动态链接库数据,确保编译正常通过:
#修改系统自带的openssl库文件,如/usr/lib64/libssl.so(根据机器环境而定 通过whereis libssl确定位置) 软链到升级后的libssl.so
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.bak ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64/libssl.so
#执行命令查看openssl依赖库版本是否为1.0.1t:
strings /usr/lib64/libssl.so |grep OpenSSL #修改系统里libcrypto.so 确保nginx重新编译不会出问题。如/usr/lib64/libcrypto.so 通过whereis libcrypto确定系统中的安装位置。 mv /usr/lib64/libcrypto.so /usr/lib64/libcrypto.so.bak ln -s /usr/local/ssl/lib/libcrypto.so /usr/lib64/libcrypto.so
至此,重新编译nginx可以顺利通过了。如还有其他问题欢迎补充。