Nginx启动时error while loading shared libraries: libcrypto.so.1.1
看网上的解决方法:
1、查看nginx启动时需要的启动项:(ldd命令检测某条命令执行时需要哪些共享库文件的支持)
#ldd $(which /opt/nginx/sbin/nginx)
linux-vdso.so.1 => (0x00007fffbc3fe000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9a6b456000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9a6b23a000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9a6b002000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f9a6ada1000)
libcrypto.so.1.1 => not found
libz.so.1 => /lib64/libz.so.1 (0x00007f9a6ab8a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9a6a7c9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9a6b664000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f9a6a54c000)
发现libcrypto.so.1.1没有找到。
网上解决方法:
到/lib64/目录下找到libcrypto.so.1.1然后执行
ln -s libcrypto.so.1.1 libcrypto.so.1.1
但是/lib64/目录下根本没有libcrypto.so.1.1这个文件~~~坑人不?!
最后google找到方法:
在/usr/local/lib64目录下,有libcrypto.so.1.1文件,将其拷贝至/lib64/目录下,(注意:此时不需要使用ln -s命令了)重启Nginx,成功!
附带链接:http://serverfault.com/questions/818445/error-while-loading-shared-libraries-libcrypto-so-1-1,最后一条回答。