热部署(nginx)

热部署(nginx)

Content #

nginx进程正在运行中,升级新版本的nginx。

  1. 备份现有的nginx二进制文件

    cp nginx nginx.old
    
  2. 将新版本nginx二进制文件替换掉旧的nginx二进制文件

    cp -f nginx /usr/local/nginx/sbin/nginx
    
  3. 给master进程发送USR2信号,告知开始热部署

    kill -USR2 13195
    

    新起master进程,与旧master进程并存。旧worker进程不再监听端口。实现平滑过滤。

  4. 向旧master进程发送WINCH信号,让其优雅地关闭旧worker进程

    kill -WINCH 13195
    

    旧master进程会依旧存在,向其发送reload命令,可以退回到原来的版本。

From #