Nginx平滑升级
来源:互联网 发布:5x5矩阵的行列式怎么算 编辑:程序博客网 时间:2024/05/01 22:18
原文 来自Nginx官网 :https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/#upgrading-to-a-new-binary-on-the-fly
如果想要升级Nginx版本(或者在原本版上增加、删除模块),同时保持服务不间断,采用如下方式可满足要求。
1. 使用新的二进制文件替换老的二进制文件,这需要注意的是nginx源码在执行make编译后,不要直接make install,否则可能会覆盖其他配置文件,命令如下:
cd /usr/local/nginx/sbinmv nginx nginx.oldcp ***/nginx .
2. 向老的master进程发送SIGUSR2信号,这一步操作将会引起以下变动:
- 将老的nginx.pid 重命名为nginx.pid.oldbin 命令如下:
- 执行新的二进制文件,启动master进程,并启动worker进程
此时,查看nginx应有两个master进程及二倍的worker进程
: PID PPID USER %CPU VSZ WCHAN COMMAND33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sbin/nginx33134 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)33135 33126 nobody 0.0 1380 kqread nginx: worker process (nginx)33136 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)36264 33126 root 0.0 1148 pause nginx: master process /usr/local/nginx/sbin/nginx36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)36267 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)命令如下:
kill -s SIGUSR2 `cat /usr/local/nginx/logs/nginx.pid`
3. 将老的nginx进程优雅的关闭
kill -s SIGQUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
此时查看Nginx进程只有一个master进程了
: PID PPID USER %CPU VSZ WCHAN COMMAND: 36264 1 root 0.0 1148 pause nginx: master process /usr/local/nginx/sbin/nginx: 36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx): 36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx): 36267 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
4. 至此 nginx升级完成,可以查看下版本是否升级成功
/usr/local/nginx/sbin/nginx -v
阅读全文
0 0
- nginx 平滑升级
- nginx平滑升级
- nginx的平滑升级
- nginx平滑升级
- nginx平滑升级
- nginx平滑升级
- Nginx的平滑升级
- nginx的平滑升级
- nginx 平滑升级
- Nginx平滑升级
- Nginx平滑升级
- nginx平滑升级问题
- Nginx平滑升级
- Nginx 平滑升级
- Nginx平滑升级
- 平滑升级你的Nginx
- nginx之平滑升级详解
- Linux下平滑升级nginx
- 实现文本单行显示,超出部分显示省略号(...)
- 2017 Multi-University Training Contest 1 solutions BY BUAA
- 手把手教你做北邮操作系统小学期实验一——Linux启动过程优化3
- Codeforces Round #425 (Div. 2) B. Petya and Exam
- springboot中注解详解
- Nginx平滑升级
- iOS10如何跳转到手机设置对应的页面
- JavaScript数据结构(1):什么是数据结构
- 源码分析Android中的线程和线程池
- 满二叉树
- 鼠标事件mouseout和mouseleave的区别
- 2017杭电多校联赛 1011 KazaQ's Socks(找规律)HDU 6043
- 2017 Multi-University Training Contest
- Xposed源码剖析——hook具体实现