nginx 的热部署升级

一、备份 nginx 二进制执行文件

  1. cp nginx nginx.old

二、启动新的 nginx 主进程

1. 查看正在运行的 nginx 的进程号

  1. ps -ef | grep nginx

2. 向进程发送信号,启动新的进程

  1. kill -s SIGUSR2 13345

此时,进入logs目录下,会看到 nginx 自动记录了旧的 pid 进程号

3. 停止旧的 worker 子进程

  1. kill -s SIGWINCH 13345
  2. ps -ef | grep nginx

此时,旧的 master 进程保持不变,旧的 worker 子进程全部退出

4. 测试,若更新成功,则停止原来的主进程

  1. kill -s SIGQUIT 13345

旧的主进程推出后,完成升级

5. 若测试失败,需要回滚

  1. kill -s SIGHUP 20878
    重新读取配置文件,拉回旧的子进程
  2. kill -s SIGQUIT 21427
    杀掉不需要的主进程,退出

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