nginx热部署升级

转载:https://blog.51cto.com/13941177/2393054

一、热升级流程

1、将旧nginx文件换成新的nginx二进制文件(注意备份);

2、想master进程发送USR2信号;

3、master进程修改pid文件名,加后缀.oldbin;

4、master进程用新nginx文件后启动新master进程

5、向老master进程发送WINCH信号,关闭老worker进程;

6、回滚:向老master发送HUP信号,向新master发送QUIT;

 

二、升级过程

#版本

nginx version: nginx/1.12.2

1、查看nginx状态

2.png

2、升级nginx版本即升级二进制文件

路径:/nginx/sbin/nginx

1)备份原来的文件,更换上新的nginx二进制文件

# cp sbin/nginx sbin/nginx.old

2)编译新版本到make后,复制二进制nginx文件(切记需要编译到同一个目录)

# cd nginx-1.14.2/

# ./configure --prefix=/usr/local/nginx12

3make

# cp -r objs/nginx /usr/local/nginx12/sbin/ -f

3)查看二进制文件

cd /usr/local/nginx/sbin/

3.png

4)发送升级信号给进程号

# kill -USR2 1501     #master线程

4.png

 

 

5)优雅关闭老线程

# kill -WINCH 1501

7.png

备注:保留旧master线程,可以用作回滚使用,如果确认不需要,可以kill掉

4)查看版本

8.png

备注:如果我们升级完后检查有问题,可采取进行下一步操作进行滚回。

 

 

3、回滚操作

1)重会备份文件

# cp -f  /usr/local/nginx12/sbin/nginx.old /usr/local/nginx12/sbin/nginx

2)执行平滑造成,生成新的进程

# kill -HUP 4197

# kill -QUIT 4197

9.png

master进程回滚到1501,worker进程也重新生成了,检查网站没问题到此完成回滚操作。

3)查看版本

10.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值