Nginx 启动报错 (nginx: error while loading shared libraries: XXX: cannot open shared object file: No such file or directory ) 的解决办法
本文解决 Nginx 因库文件缺失而无法启动问题
没有采用缺失什么就安装什么的解决办法, 而是借助于另一个正常运行的Linux , 将其上的库文件发送给缺失库文件的 Linux 服务器
以 缺失 libharfbuzz.so.0 为例 , 其它库文件缺失 大同小异
前提摘要:
今天打开我的网址 www.cheery.pro 时发现, 多次重试也没反应, 这可怎么办? 这是怎么回事
问题探究:
ping了一下服务器发现可以ping通, 于是猜测可能是Nginx 出现了问题,
打开宝塔面板, 果然发现nginx没有启动, 于是点击启动发现报错 nginx: error while loading shared libraries: libharfbuzz.so.0: cannot open shared object file: No such file or directory
这是怎么呀? 看不懂, 在这串英文中发现 shared libraries , 后面那个可能是 某个库文件缺失吧, 于是我搜索了一下这个报错信息, 没有找到解决办法
再试了很多搜索办法后发现, 有个类似的 ,可是他缺失的那个库文件和我这个文件名不同啊 , 他的解决办法是 到官方下载缺失的库文件然后安装 ,
这么麻烦???
首先安装我就不会, 其次我怎么安装 安装到哪里?
我又找别的的博客看看有没有什么解决办法, 没有还是没有找到, 只能靠自己了;
尝试解决问题;
我想了一下我自己的电脑上的 Nginx 是可以正常启动的, 那是不是 就说明我自己的电脑上是有这个配置文件的
于是输入 locate libharfbuzz.so.0 命令进行查找, 果然找到了
同样的在我的服务器上也找一下, 可能有或许是路径不对 同样输入上面的命令, 果然是没有的, 这就验证了我的猜想
于是 使用 scp 命令发送过去
scp libharfbuzz.so.0 root@www.cheery.pro:/lib/x86_64-linux-gnu
这里要注意一下, 你确实的库文件的名字是什么? 还有服务器的路径名 ,是你locate找到的那个路径, 不同的 版本可能是不同的
现在服务器上有这个库文件了, 试试能不能启动吧
启动成功了, 我们成功的解决了这个问题,
我的网站也可以正常访问了
所以网上找不到解决方案 就自己想办法吧, 自己能解决才是最好.
遇到文件也不能因为找不到解决的博客 帖子而烦恼自己想想或许就找到解决方法了