【问题解决】源码安装Nginx提示找不到openssl library
2022/9/9 5:23:36
本文主要是介绍【问题解决】源码安装Nginx提示找不到openssl library,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题背景
最近测试同事说有一台服务器执行源码安装Nginx脚本出现openssl not found的错误解决不了让我帮忙看看,ssh连接上去后发现这台服务器安装了 CentOS7.9操作系统,并且已经安装了 openssl-devel 库,理论上不会有问题。
然而,就在重装多次 openssl相关软件包后,感觉问题不大正常,于是再次仔细查看报错信息:
checking for OpenSSL library ... not found checking for OpenSSL library in /usr/local/ ... not found checking for OpenSSL library in /usr/pkg/ ... not found checking for OpenSSL library in /opt/local/ ... not found ./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl=<path> option.
大意是没找到OpenSSL库,而Nginx的SSL模块需要OpenSSL库,要么禁用这个模块,要么安装OpenSSL库;也可以通过指定OpenSSL源码位置来静态编译OpenSSL供Nginx使用。
检查openssl-devel安装情况 yum list installed |grep openssl-devel
,发现的确安装了
[root@cfs-ctp nginx]# yum list installed |grep openssl-devel openssl-devel.x86_64 1:1.0.2k-25.el7_9 @updates
尝试执行了下 openssl version
查看openssl的版本
[root@cfs-ctp nginx]# openssl version openssl: relocation error: openssl: symbol OPENSSL_init_ssl, version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference
yum安装的版本是1.0.2k,而提示却是OPENSSL_1_1_0,我怀疑 openssl 安装有问题。
解决方法
由于在网上百度到OpenSSL library in /usr/local/ ... not found这种标题的帖子解决办法都非常离谱——指定OpenSSL源码静态编译 或 手动编译OpenSSL后复制到某个位置,再有怀疑OpenSSL安装有问题,直接去查OpenSSL的报错信息,发现了全网(截至2022/09/08)唯一一篇情况大致相同的贴子,来自ArchLinux论坛 https://archlinuxarm.org/forum/viewtopic.php?t=11679&p=55714
于是全局搜索下 openssl 目录,看看有没有源码安装目录
[root@cfs-ctp ~]# find / -name openssl find: ‘/proc/42458’: 没有那个文件或目录 /etc/pki/ca-trust/extracted/openssl /root/nginx/nginx-1.22.0/auto/lib/openssl /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /data/jq/rpms/openssl-1.1.1a/test/ossl_shim/include/openssl /data/jq/rpms/openssl-1.1.1a/apps/openssl /data/jq/rpms/openssl-1.1.1a/include/openssl /data/jq/rpms/tengine-2.3.0/auto/lib/openssl
的确发现1.1.1版本的源码目录,进入后执行卸载操作
cd /data/jq/rpms/openssl-1.1.1a make uninstall
再次执行源码安装nginx的脚本,一切正常。
提示:源码安装系统组件一定要保留编译安装目录,不然出现这种情况基本就得重装系统了。
这篇关于【问题解决】源码安装Nginx提示找不到openssl library的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享