$./nginx
./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
$
当你启动nginx的时候,如果遇到以上给出的错误,你可以用一下的方法解决:
发生这样的错误一般是以下三种原因:
1.你没有安装PCRE
2.Nginx没有使用pcre编译和安装
3.PCRE包没有设置LD_LIBRARY_PATHA环境变量
这里有很多种方法解决。我相信最好的方法就是用排错的技巧。让我们去理解这个错误,然后再进一步去解决它。
nginx: error while loading shared libraries: libpcre.so.1
nginx在查找这个在PCRE库下面的和一般已经安装在UNIX上的文件libpcre.so.1。
让我们来使用查找命令find来查找一下libpcre.so.1。
$find / -name libpcre.so.1
/usr/local/lib/libpcre.so.1
$
好了,现在我已经确定有这个文件,那就意味着PCRE已经安装了,我们可以进行下一步继续排错了。
注意:如果你使用命令没有查找到结果,那你就应该去安装PCRE.你可以在Linux/CentOS下使用命令yum install
pcre来安装,或者获得管理员的权限后去安装它。
现在,让我们设置LD_LIBRARY_PATH,以让我们可以知道libpcre.so.1这个文件是有效的并且是在
/usr/local/lib路径下。
$export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH现在
启动nginx,你应该可以正常启动了。
附:启动,/usr/local/nginx/sbin/nginx
输入命令:netstat -ano | grep 80,有nginx相关的结果输出说明启动传成功了。
打开浏览器输入本机IP,出现welcome to nginx!就说明启动成功了。。。
大部分翻译自:http://geekflare.com/webservers/nginx/nginx-error-while-loading-shared-libraries-libpcre-so-1