nginx无缝升级

参考文章:[http://www.2cto.com/os/201305/208921.html][6]

1、下载新的nginx包

下载地址:[http://nginx.org][6]

2、将nginx放到/usr/src目录下

3、编译新的nginx

tar zxvf  nginx-1.10.1.tar.gz
cd nginx-1.10.1.tar.gz
./configure --prefix=/usr/local/nginx --with-stream --with-cc=/usr/sfw/bin/gcc
make

注意:这里make就行,不要make install。其中–prefix=/usr/local/nginx 为原来安装nginx的目录。

4、替换原有nginx执行文件

编译完,在nginx-1.10.1文件夹下的objs目录下有一个nginx执行文件就是新的执行文件。

# 备份原理的nginx执行文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

# 复制新的nginx执行文件到安装目录下
cp objs/nginx /usr/local/nginx/sbin/nginx

5、检查是否成功

# 显示nginx是否运行正常
/usr/local/nginx/sbin/nginx -t

# 显示nginx版本信息
/usr/local/nginx/sbin/nginx -V

在运行/usr/local/nginx/sbin/nginx -t 这一步时,有可能会报错:

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

从错误看,是缺少了libpcre.so.1这个文件,我们可以进一步检查一下:

[root@localhost /]#ldd $(which /usr/local/nginx/sbin/nginx)
    linux-gate.so.1 => (0x0071b000)
    libpthread.so.0 => /lib/libpthread.so.0 (0×00498000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0×00986000)
    libpcre.so.1 => not found
    libcrypto.so.6 => /lib/libcrypto.so.6 (0×00196000)
    libz.so.1 => /lib/libz.so.1 (0×00610000)
    libc.so.6 => /lib/libc.so.6 (0x002d7000)
    /lib/ld-linux.so.2 (0x006a8000)
    libdl.so.2 => /lib/libdl.so.2 (0x008c3000)

可以看到就是 libpcre.so.1 => not found ,这个问题很好解决:

#如果是32位系统
[root@localhost /]#  ln -s /lib/libpcre.so.1 /lib

#如果是64位系统
[root@localhost /]#  ln -s /lib/libpcre.so.1 /lib64

然后再运行 /usr/local/nginx/sbin/nginx -t 就可以成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值