秀米云香港服务器

启动nginx发现

nginx: error while loading shared libraries: libpcre.so.1:cannot open shared object file: No such file or directory

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

遂检查pcre的安装,由于是在测试安装脚本,遂检查安装是否成功,从脚本运行来看,是成功编译了的,后来又重新编译pcre

configure 正常

make 正常

make install 出错如下

test-z"/usr/local/include"||/bin/mkdir-p"/usr/local/include"

/usr/bin/install-c-m644pcre.hpcrecpparg.hpcre_stringpiece.h'/usr/local/include'test-z"/usr/local/lib/pkgconfig"||/bin/mkdir-p"/usr/local/lib/pkgconfig"/usr/bin/install-c-m644libpcre.pclibpcreposix.pclibpcrecpp.pc'/usr/local/lib/pkgconfig'makeinstall-data-hookmake[3]:Enteringdirectory`/usr/local/src/itnihao_lnmp/nginx/pcre-8.30'ln-spcre_assign_jit_stack.3/usr/local/share/man/man3/pcre16_assign_jit_stack.3ln-spcre_compile.3/usr/local/share/man/man3/pcre16_compile.3ln:creatingsymboliclink`/usr/local/share/man/man3/pcre16_compile.3':Fileexistsmake[3]:***[install-data-hook]Error1make[3]:Leavingdirectory`/usr/local/src/itnihao_lnmp/nginx/pcre-8.30'make[2]:***[install-data-am]Error2make[2]:Leavingdirectory`/usr/local/src/itnihao_lnmp/nginx/pcre-8.30'make[1]:***[install-am]Error2make[1]:Leavingdirectory`/usr/local/src/itnihao_lnmp/nginx/pcre-8.30

处理办法

rm /usr/local/share/man/man3/pcre* -rf

make clean

make install 立即OK,说明刚才的prce安装是没有问题的

下面查看nginx的lipcre问题

find / -name libpcre.so.1

/usr/local/lib/libpcre.so.1

ldconfig -v|grep pcre

ldconfig: Path `/usr/local/lib' given more than once报错了

libpcrecpp.so.0 ->libpcrecpp.so.0.0.0

libpcre.so.1 ->libpcre.so.1.0.0

libpcreposix.so.0 ->libpcreposix.so.0.0.0

libpcre.so.0 ->libpcre.so.0.0.1

libpcrecpp.so.0 ->libpcrecpp.so.0.0.0

libpcreposix.so.0 ->libpcreposix.so.0.0.0

cat /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/include

/usr/local/lib 提示多了这行,删除掉

ldconfig -v|grep pcre

libpcrecpp.so.0 ->libpcrecpp.so.0.0.0

libpcre.so.1 ->libpcre.so.1.0.0

libpcreposix.so.0 ->libpcreposix.so.0.0.0

libpcre.so.0 ->libpcre.so.0.0.1

libpcrecpp.so.0 ->libpcrecpp.so.0.0.0

libpcreposix.so.0 ->libpcreposix.so.0.0.0

再次启动nginx,则OK

总结:上面的问题其实是pcre的动态库路径不对,其实无需编译pcre,为画蛇添足的步骤。pcre再次编译出问题是由于之前安装过的,写man目录文件失败导致。

标题:安装Nginx时的PCRE问题

地址: https://www.yunhk.xyz/26369.html