nginx报错,找不到库./sbin/nginx: error while loading shared libraries: libcrypto.so.1.1

在工作过程中,部署项目安装的nginx执行报错,找不到库../nginx: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

由错误提示可以看出缺少libcrypto.so.1.1

通过命令:ldd $(which /usr/local/nginx/sbin/nginx)  (ldd检测某条命令需要哪些共享库文件的支持)

nginx报错,找不到库./sbin/nginx: error while loading shared libraries: libcrypto.so.1.1_第1张图片

(注释:在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置。默认情况下,/etc/ld.so.conf 文件中包含有默认的共享库搜索路径。)

根据提示nginx程序需要连接的共享库libcrypto.so.1.1没有,通过ls ‘/lib64/ libcrypto.so.1.1’也可验证没有

首先想到的yum 安装libcrypto.so.1.1

通过测试yum install libcrypto.so.1.1或yum groupinstall libcrypto.so.1.1均无法完成安装,如下图

nginx报错,找不到库./sbin/nginx: error while loading shared libraries: libcrypto.so.1.1_第2张图片
提示没有可用的libcrypto.so.1.1 无法安装

然后使用openssl version来查看openssl版本,结果报如下错误:


 这是由于openssl库的位置不正确造成的。

解决方法:

在root用户下执行

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1 

通过ldd $(which /usr/local/nginx/sbin/nginx) 再次检测,对应库已经正确指向,如下图

nginx报错,找不到库./sbin/nginx: error while loading shared libraries: libcrypto.so.1.1_第3张图片
执行命令  [root@test nginx]# ./sbin/nginx –t      检测nginx显示正常,如下图


 

参考:http://www.cnblogs.com/xyb930826/p/6077348.html

你可能感兴趣的:(nginx)