公司有几台点播服务器,用的是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文件导致,进一步查看
可看到 libssl.so.6 有个文件未能找到 需要安装openssl098e-0.9.8e-17.el6.centos.2.x86_64包,或可以从别的服务器上拷出方至/lib或者/lib64下。
完成后再次:
问题成功解决,nginx升级得以顺利进行。