实现nginx的平滑升级以及版本回退,服务不中止

一、下载最新版本的nginx

官网下载nginx的压缩包到/root下

tar zxf nginx-1.19.1.tar.gz  ##解压新版本的安装包
cd nginx-1.19.1/         

二、执行configure以及make

1.执行configure以及安装参数文件

[root@server1 nginx-1.19.1]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module
[root@server1 nginx-1.19.1]# make

实现nginx的平滑升级以及版本回退,服务不中止_第1张图片


2.新旧文件备份更迭

[root@server1 sbin]# cd /usr/local/lnmp/nginx/sbin/
[root@server1 sbin]# ls
nginx
[root@server1 sbin]# cp nginx nginx.old
[root@server1 sbin]# ls
nginx  nginx.old
[root@server1 objs]# cd /root/nginx-1.19.1/objs/
[root@server1 objs]# ls
autoconf.err  Makefile  nginx  nginx.8  ngx_auto_config.h  ngx_auto_headers.h  ngx_modules.c  ngx_modules.o  src
[root@server1 objs]# cp -f nginx /usr/local/lnmp/nginx/sbin/
cp: overwrite '/usr/local/lnmp/nginx/sbin/nginx'? y
[root@server1 objs]# cd /usr/local/lnmp/nginx/sbin/
[root@server1 sbin]# ./nginx -v
nginx version: nginx/1.19.1

实现nginx的平滑升级以及版本回退,服务不中止_第2张图片

实现nginx的平滑升级以及版本回退,服务不中止_第3张图片 

三、实现平滑升级

<1>ps ax | grep nginx        ##查看老版本的进程号
<2>kill -USR2 老版本主进程号   ##master的
   ps ax | grep nginx        ##新进程出现,均在工作状态
<3>kill -WINCH 老版本主进程号  ##关闭worker子进程
<4>如果不操作版本回退,直接关闭老进程
   kill -QUIT 老版本主进程号

实现nginx的平滑升级以及版本回退,服务不中止_第4张图片

四、版本回退

cd /usr/local/lnmp/nginx/sbin/   ##还原nginx程序
cp -f nginx.old nginx
kill -HUP 老进程号                ##唤醒原进程的worker
kill -WINCH 新进程号              ##关闭新进程的worker
kill -QUIT 新进程号               ##关闭新进程

实现nginx的平滑升级以及版本回退,服务不中止_第5张图片

 

 

你可能感兴趣的:(linux实战,nginx)