nginx 平滑升级

1.查看nginx旧版本配置

[root@lnmp-1 ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.6.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) 
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

 2.下载新版本nginx,并解压,常规编译新版本nginx,不过只要执行到make就打住,【千万不要make install

cd /server/tools/
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
make

 3.重命名旧的nginx二进制文件

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

 4.拷贝新的二进制文件到源安装目录

cp objs/nginx /usr/local/nginx/sbin/

 5.在源码目录执行make upgrade开始升级,【升级的实质也就执行如下命令而已】,

[root@lnmp-1 nginx-1.8.0]# make upgrade
/usr/local/nginx-1.6.3/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.6.3/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.6.3/conf/nginx.conf test is successful
kill -USR2 `cat /usr/local/nginx-1.6.3/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx-1.6.3/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx-1.6.3/logs/nginx.pid.oldbin`

 6.也可以查看make文件,查看

[root@lnmp-1 nginx-1.8.0]# cat Makefile 
default:        build
clean:
        rm -rf Makefile objs
build:
        $(MAKE) -f objs/Makefile
        $(MAKE) -f objs/Makefile manpage
install:
        $(MAKE) -f objs/Makefile install
upgrade:     升级步骤
        /usr/local/nginx-1.6.3/sbin/nginx -t
        kill -USR2 `cat /usr/local/nginx-1.6.3/logs/nginx.pid`
        sleep 1
        test -f /usr/local/nginx-1.6.3/logs/nginx.pid.oldbin
            kill -QUIT `cat /usr/local/nginx-1.6.3/logs/nginx.pid.oldbin`

 7.平滑重启nginx,确认版本

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

[root@lnmp-1 nginx-1.8.0]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.0    1.6.3版本升级到1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

 

posted @ 2017-05-31 15:13  sunmmi  阅读(195)  评论(0)    收藏  举报