一、下载最新版本的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
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
![]()
三、实现平滑升级
<1>ps ax | grep nginx ##查看老版本的进程号 <2>kill -USR2 老版本主进程号 ##master的 ps ax | grep nginx ##新进程出现,均在工作状态 <3>kill -WINCH 老版本主进程号 ##关闭worker子进程 <4>如果不操作版本回退,直接关闭老进程 kill -QUIT 老版本主进程号
四、版本回退
cd /usr/local/lnmp/nginx/sbin/ ##还原nginx程序 cp -f nginx.old nginx kill -HUP 老进程号 ##唤醒原进程的worker kill -WINCH 新进程号 ##关闭新进程的worker kill -QUIT 新进程号 ##关闭新进程
![]()