当前位置: > Linux故障 >

linux服务器nginx升级报错怎么办?解决方法

时间:2014-06-26 01:50来源:linux.it.net.cn 作者:IT网

linux服务器nginx升级报错解决方法

公司有几台点播服务器,使用的是nginx+nginx_mod_h264_streaming模块,由于安装的时间不同,所以几台服务器上的nginx版本都不相同,早起装的是nginx1.0.5版本。
而目前nginx都已经升级到mainline1.5.3版本,stable版本也升级到了1.4.3版本了。决定把使用的版本升级到1.3.3版。

一,准备工作
需要确认服务器系统版本,由于目前linux操作系统 的版本也比较多,而且分为x86 x64版,对于nginx需要的环境支持文件也不尽相同。
首先nginx -V 确认下原来安装时执行的configure命令
执行后会显示当前nginx服务器版本及./configure时添加的configure arguments. 
稳妥起见把原来的nginx主文件先备份下 mv nginx  nginx.bak
详细的重新编译步骤就不在详述了,一般套路 ./configure --prefix=/usr/local/nginx  --等等根据自己要求来添加  后面make完成  cp objs/nginx /usr/local/nginx/sbin/
执行/usr/local/nginx/sbin/nginx -V 看下是否正确 正常情况下到这里基本就完成了。
笔者在执行升级过程中遇到几个问题,今天着重说下遇到的问题。
重新编译过程中configure参数有改动使的当前环境不支持,缺少库文件的安装包

二,正常完成编译
/usr/local/nginx/sbin/nginx -V 报错
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
启动过程中找不到某个library 从错误看出是缺少lib文件导致,进一步查看
 

# ldd $(which /usr/local/nginx/sbin/nginx)
linux-vdso.so.1 =>  (0x00007fffb79ff000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5a10ea3000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f5a10c6c000)
libssl.so.6 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007f5a10a67000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5a106d3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5a110d3000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f5a10471000)
 

可看到 libssl.so.6  有个文件未能找到 需要安装openssl098e-0.9.8e-17.el6.centos.2.x86_64包,或者可以从别的服务器上拷出方至/lib或者/lib64下。

完成后再次:
 

复制代码代码示例:
/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

显示nginx运行正常。

 
(责任编辑:IT)
------分隔线----------------------------