Nginx在线服务状态下平滑升级或新增模块的详细操作

Posted 为生活而努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx在线服务状态下平滑升级或新增模块的详细操作相关的知识,希望对你有一定的参考价值。

今天应开发的需求,需要在nginx增加一个模块,并不能影响现有的业务,所以就必须要平滑升级Nginx,好了,不多说了

1:查看现有的nginx编译参数

  /usr/local/nginx/sbin/nginx -V

2:按照安装nginx的方法进行安装,只需要到make,千万不要make install

3: 备份旧版本的nginx可执行文件(期间nginx不会停止服务)

  mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

4:复制新的nginx二进制文件,进入新的nginx源码包

    cp objs/nginx /usr/local/nginx/sbin/

5: 测试新版本的nginx是否正常

    /usr/local/nginx/sbin/nginx -t

6: 给nginx发送平滑迁移信号(若不清楚pid路径,请查看nginx配置文件)

   kill -USR2 `cat /var/run/nginx.pid`

7:查看nginx pid,会出现一个nginx.pid.oldbin

8:从容关闭旧的Nginx进程

 kill -WINCH `cat /var/run/nginx.pid.oldbin`

9:此时不重载配置启动旧的工作进程

  kill -HUP `cat /var/run/nginx.pid.oldbin`

10:结束工作进程,完成此次升级

   kill -QUIT `cat /var/run/nginx.pid.oldbin`

11:验证Nginx是否升级成功

   /usr/local/nginx/sbin/nginx -V

  

 

 

以上是关于Nginx在线服务状态下平滑升级或新增模块的详细操作的主要内容,如果未能解决你的问题,请参考以下文章

nginx 平滑升级和location配置案例

平滑升级nginx

Nginx服务器 安装 与平滑升级详细介绍   简单使用1

NGINX动态增加模块,平滑升级

nginx添加模块与平滑升级

Nginx 平滑升级(不需要关闭Nginx升级)