在工作过程中,部署项目安装的nginx执行报错,找不到库../sbin/nginx: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory
由错误提示可以看出缺少libcrypto.so.6
通过命令:ldd $(which/usr/local/nginx/sbin/nginx) (ldd检测某条命令需要哪些共享库文件的支持)
(注释:在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置。默认情况下,/etc/ld.so.conf 文件中包含有默认的共享库搜索路径。)
根据提示nginx程序需要连接的共享库libcrypto.so.6没有,通过ls ‘/lib64/ libcrypto.so.6’也可验证没有
首先想到的yum 安装libcrypto.so.6
通过测试yum install libcrypto.so.6或yum groupinstall libcrypto.so.6均无法完成安装,如下图
提示被锁定无法完成安装
没办法只有看看能不能下载rpm进行安装,经过百度发现此类库包含在openssl的rpm包中,如图
通过yum install openssl* 安装了相应的库,如下图
通过ldd $(which /usr/local/nginx/sbin/nginx) 再次检测,对应库已经正确指向,如下图
执行命令 [root@test nginx]# ./sbin/nginx –t 检测nginx显示正常,如下图
问题搞定,分享给大家……