感谢支持
我们一直在努力

CentOS6.0虚拟机上安装nginx启动的错误—缺少libpcre.so.1共享库

虚拟机操作系统为CentOS6.0 32位,安装,配置Nginx1.2.0完毕后,


用命令:/usr/local/nginx/sbin/nginx


启动nginx时,服务无法启动,出现libpcre.so.1 not found的错误,解决方法如下:


先执行下述命令,查看共享库的信息


#ldd which /usr/local/nginx/sbin/nginx


显示如下:


        linux-gate.so.1 =>  (0x009a9000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00e13000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x0027e000)
        libpcre.so.1 => not found
        libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x002ae000)
        libz.so.1 => /lib/libz.so.1 (0x00d54000)
        libc.so.6 => /lib/libc.so.6 (0x005e9000)
        /lib/ld-linux.so.2 (0x00583000)
        libfreebl3.so => /lib/libfreebl3.so (0x00110000)
        libdl.so.2 => /lib/libdl.so.2 (0x008e9000)


执行如下:


 #cd /lib


因为事先已经安装过pcre库,所以纳闷为何找不到库。查看库的位置:


#ll libpcre*


lrwxrwxrwx. 1 root root     16 Apr 27 18:42 /lib/libpcre.so.0 -> libpcre.so.0.0.1
-rwxr-xr-x. 1 root root 190732 Aug 19  2010 /lib/libpcre.so.0.0.1


pcre库存在,只是名字不是libpcre.so.1,而是libpcre.so.0。尝试建立一个新的链接,解决这个问题:


 #ln -s libpcre.so.0.0.1 libpcre.so.1


再次查看一下:


 #ldd  /usr/local/nginx/sbin/nginx


显示已经ok了:


        linux-gate.so.1 =>  (0x009a9000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00e13000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x0027e000)
        libpcre.so.1 => /lib/libpcre.so.1 (0x005b9000)
        libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x002ae000)
        libz.so.1 => /lib/libz.so.1 (0x00d54000)
        libc.so.6 => /lib/libc.so.6 (0x005e9000)
        /lib/ld-linux.so.2 (0x00583000)
        libfreebl3.so => /lib/libfreebl3.so (0x00110000)
        libdl.so.2 => /lib/libdl.so.2 (0x008e9000)


重新启动Nginx:


/usr/local/nginx/sbin/nginx -s reload


启动成功!首页出来了,后续的tomcat动态内容页成功出现。


如果使用CentOS6+ 64位版本,模块所在路径是/lib64而不是/lib。


涉及到Linux系统下模块的依赖关系,这种方法虽然解决了问题,不知道有什么副作用没有,网上的一般资料里也没有深入提到这些依赖关系。下载安装pcre时,也只是下了个最新稳定版本。

赞(0) 打赏
转载请注明出处:服务器评测 » CentOS6.0虚拟机上安装nginx启动的错误—缺少libpcre.so.1共享库
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏