nginx版本平滑升级

nginx 版本升级

nginx进行平滑升级,不用停止nginx服务。

1、下载新版nginx

#安装依赖关系
yum -y install pcre-devel zlib-devel gcc gcc-c++ make

#1、查看nginx文件位置
find / -name nginx

#2、查看nginx版本
/usr/local/nginx/sbin/nginx -V

#下载新的nginx源码包

#3、新源码包 按照安装nginx的方法进行安装,只需要到make,千万不要make install
tar -zxf nginx-***
cd nginx-***
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--without-http_rewrite_module \
--with-stream

#4、编译
make

2、平滑升级nginx

#1: 备份旧版本的nginx可执行文件(期间nginx不会停止服务)
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

#2:复制新的nginx二进制文件,进入新的nginx源码包
cp objs/nginx /usr/local/nginx/sbin/

#3: 测试新版本的nginx是否正常
/usr/local/nginx/sbin/nginx -t

#4: 给nginx发送平滑迁移信号(若不清楚pid路径,请查看nginx配置文件)
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

#5:从容关闭旧的Nginx进程
kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`

#6:此时不重载配置启动旧的工作进程
kill -HUP `cat /usr/local/nginx/logs/nginx.pid.oldbin`

#7:结束工作进程,完成此次升级
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

#8:验证Nginx是否升级成功
/usr/local/nginx/sbin/nginx -V

版权声明:本文为weixin_53060366原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。