本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

在前不久的openssl的安装教学文章里面,苏南大叔使用了一个--ignore-dependencies参数,卸载掉了openssl。结果,就导致了nginx的彻底不能使用,这个是始料未及的事情。不管如何,问题就是卸载openssl,导致nginxlibssl模块不能使用。本文就是描述如何处理这个次生风险问题的。

苏南大叔:nginx报错:libssl library not loaded 的解决方案 - nginx-issue
nginx报错:libssl library not loaded 的解决方案(图4-1)

测试环境:mac/nginx/libssl

报错信息

删除openssl之后,再次执行nginx,报错信息如下:

$ nginx
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/bin/nginx
  Reason: image not found
Abort trap: 6

苏南大叔:nginx报错:libssl library not loaded 的解决方案 - nginx-issue-snap
nginx报错:libssl library not loaded 的解决方案(图4-2)

解决方案

解决方案也比较简单,就是重装nginx。不过,涉及到一个nginx的配置问题。因为毕竟有很多的配置文件了。不过,默认情况下,这些配置文件并不会被删除。您如果不放心的话,可以在卸载nginx之前,先备份一下nginx的配置文件。这些配置在mac系统上的默认路径是:

/usr/local/etc/nginx/

mac系统下,卸载重装nginx的命令如下:

brew uninstall nginx
brew install nginx
brew services restart nginx

苏南大叔:nginx报错:libssl library not loaded 的解决方案 - brew-install-nginx
nginx报错:libssl library not loaded 的解决方案(图4-3)

可能的问题

如果brew被卡住的话,您可能需要的命令是:

export HOMEBREW_NO_AUTO_UPDATE=true

苏南大叔:nginx报错:libssl library not loaded 的解决方案 - brew-restart-nginx
nginx报错:libssl library not loaded 的解决方案(图4-4)

相关链接:

总结

本文中的问题的解决方案,很好处理。就是这个问题的发生,实在是有些意外。更多nginx相关文字,请查看下面的链接:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。