nginx版本升级,热部署以及回滚

Nginx热部署

步骤1: 查看现在的nginx状态
[root@test1 sbin]# nginx -v
显示: 
nginx version: nginx/1.12.2

[root@test1 sbin]# ps -ef | grep nginx
显示:
root  9914  1     0 13:34 ?  00:00:00 nginx: master process nginx      #9914为nginx的master进程号
nginx 9915  9914  0 13:34 ?  00:00:00 nginx: worker process           #nginx的worker进程号
步骤2:备份nginx启动程序
我的nginx启动程序放在/usr/local/nginx/sbin/下
[root@test1 sbin]# mv nginx nginx.old
步骤3:将新版本的nginx移至到nginx的启动程序目录中
[root@test1 sbin]# cp /opt/nginx-1.17.3/objs/nginx /usr/local/nginx/sbin/
[root@test1 sbin]# ls
显示:
nginx nginx.old
步骤4: 给nginx的master进程号发送需要进行版本更新信号
[root@test1 sbin]# kill -USR2 9914    #通过步骤1中我们得知nginx的master进程号
发送信息告知正在运行的老nginx我们需要进行版本更新,然后它会开启新nginx启动程序的master进程并保留老nginx的master进程
这时我们再查看nginx的进程状态
[root@test1 sbin]# ps -ef | grep nginx
显示:
root  9914  1     0 13:40 ?  00:00:00 nginx: master process nginx      #nginx的老master进程号
nginx 9915  9914  0 13:40 ?  00:00:00 nginx: worker process           #nginx的老worker进程号
root  9920  9914     0 13:40 ?  00:00:00 nginx: master process nginx  #9920为nginx的新master进程号
nginx 9921  9920  0 13:40 ?  00:00:00 nginx: worker process           #nginx的新worker进程号
步骤5: 给nginx的master进程号发送优雅关闭老master启动的worker进程信号
[root@test1 sbin]# kill -WINCH 9914    
优雅关闭老nginx启动程序的worker进程(此时老nginx启动程序的master进程还在,还可以进行版本回滚)
这时我们再查看nginx的进程状态
[root@test1 sbin]# ps -ef | grep nginx
显示:
root  9914  1     0 13:41 ?  00:00:00 nginx: master process nginx      
root  9920  9914     0 13:41 ?  00:00:00 nginx: master process nginx  #9920为nginx的新master进程号
nginx 9921  9920  0 13:41 ?  00:00:00 nginx: worker process           #nginx的新worker进程号
这时可以看到老master进程生成的woker进程已经退出

------------------------------分割线-------------------------------

Nginx回滚

步骤1: 查看现在的nginx状态
[root@test1 sbin]# ps -ef | grep nginx
显示:
root  9914  1     0 13:43 ?  00:00:00 nginx: master process nginx        #nginx的老master进程号
root  9920  9914     0 13:43 ?  00:00:00 nginx: master process nginx  #9920为nginx的新master进程号
nginx 9921  9920  0 13:43 ?  00:00:00 nginx: worker process           #nginx的新worker进程号
步骤2: 给nginx的老master进程发送启动worker进程信号
[root@test1 sbin]# kill -HUP 9914

[root@test1 sbin]# ps -ef | grep nginx
显示:
root  9914  1     0 13:45 ?  00:00:00 nginx: master process nginx     #nginx的老master进程号
root  9920  9914     0 13:45 ?  00:00:00 nginx: master process nginx  #9920为nginx的新master进程号
nginx 9921  9920  0 13:45?  00:00:00 nginx: worker process            #nginx的新worker进程号
nginx 15887  9914  0 13:45?  00:00:00 nginx: worker process           #nginx的老master刚启动的worker进程号
步骤3: 给nginx的新master进程号发送优雅关闭新master启动的worker进程信号
[root@test1 sbin]# kill -WINCH 9920

[root@test1 sbin]# ps -ef | grep nginx
显示:
root  9914  1     0 13:45 ?  00:00:00 nginx: master process nginx     #nginx的老master进程号
root  9920  9914     0 13:45 ?  00:00:00 nginx: master process nginx  #9920为nginx的新master进程号
nginx 15887  9914  0 13:45?  00:00:00 nginx: worker process           #nginx的老master刚启动的worker进程号
步骤4: 将备份的老nginx启动程序修改回
[root@test1 sbin]# mv nginx nginx.bak        #将正在使用的新Nginx启动程序改名
[root@test1 sbin]# mv nginx.old nginx        #将之前备份的nginx.old修改为nginx
[root@test1 sbin]# nginx -v
显示:
nginx version: nginx/1.12.2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值