Nginx不停机升级
1、将新的安装包解压并且预编译
一定要记得的先备份原来的!!!!
./configure --prefix=/usr/local/nginx
make &&make install
2、生成新的master进程
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
[root@localhost nginx-1.21.6]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
[root@localhost nginx-1.21.6]# ps -ef |grep "[n]ginx"
root 7590 1 0 May18 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 7592 7590 0 May18 ? 00:00:00 nginx: worker process
root 11478 7590 0 00:18 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 11484 11478 0 00:18 ? 00:00:00 nginx: worker process
此时Nginx开启一个新的master进程,这个master进程会生成新的worker进程,这就是升级后的Nginx进程,此时老的进程不会自动退出,但是当接收到新的请求不作处理而是交给新的进程处理。
3、关闭旧的进程
向老的master进程发信号,告诉它关闭其worker进程
看到老的worker进程已经退出,老的master进程还在:说明所有的请求已经切换到新升级好的nginx中
[root@localhost nginx-1.21.6]# kill -WINCH 7590
[root@localhost nginx-1.21.6]# ps -ef |grep "[n]ginx"
root 7590 1 0 May18 ? 00:00:00 nginx: master process ./sbin/nginx
root 11478 7590 0 00:18 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 11484 11478 0 00:18 ? 00:00:00 nginx: worker process
4、如果升级过程中有问题,退回原版本
重新拉起老的worker进程:
kill -HUP 7590
5、退出新的master进程
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`
6、换回nginx文件
先删除新的nginx二进制文件,再还原老的nginx 二进制文件
rm -rf /usr/local/nginx/sbin/nginx
mv /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx
7、升级完成
经过测试没有问题 退出旧的master
[root@localhost nginx-1.21.6]# kill -QUIT 7590
[root@localhost nginx-1.21.6]# ps -ef |grep "[n]ginx"
root 11478 1 0 00:18 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 11484 11478 0 00:18 ? 00:00:00 nginx: worker process
[root@localhost nginx-1.21.6]#
查看版本信息 curl -i 127.0.0.1
Nginx不停机升级相关推荐
- 复杂系统如何在不停机升级同时保持稳定?你必须考虑以下几个点...
背景 在互联网行业,线上服务的升级更新可谓家常便饭.据统计,在过去的一个季度中闲鱼工程师们执行了千余次发布,总计更新的代码数量超过百万行. 这些发布中,有一些可能只更新了几行代码,而有一些可能执行了整 ...
- nginx的平滑升级方法:
最简单的nginx的平滑升级方法: 1 找到nginx的执行文件的路径 1 # ps auxf|grep nginx 记下nginx的master进程 pid(我这里是2752 ) 2 查看当前ng ...
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
- 源码安装nginx以及平滑升级
源码安装nginx以及平滑升级 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 这个博客不方便上传软件包,我给大家把软件包放到百度云 ...
- 使用 Caddy 替代 Nginx,全站升级 https,配置更加简单
使用 Caddy 替代 Nginx,全站升级 https,配置更加简单 Caddy 是什么? Caddy 是一个多功能的 HTTP web服务器,并且使用Let's Encrypt提供的免费证书,自动 ...
- lnmp 下php升级,lnmp nginx和php升级方法
lnmp nginx和php升级方法,很简单,如下: 升级程序 6.升级Nginx版本,执行如下命令:./upgrade_nginx.sh 按提示输入nginx的版本号,如1.0.10,版本号可以从h ...
- nginx的平滑升级
前言 关于nginx,我们通常都会提到nginx的平滑升级.即在不影响业务的情况下,对正在使用的nginx的版本进行升级.而这个操作是只在有必要升级时才进行的. 关于nginx的平滑升级与nginx添 ...
- 如何在生产中实现Elasticsearch的零停机升级
文章目录 1. 版本注意事项 2.定义升级策略 2.0 快照备份 2.1 滚动升级(minor或单个major升级) 2.1.1 Elasticsearch运行在最新的次要版本上 2.1.2 Elas ...
- nginx进行平滑升级
文章目录 前言 一.准备工作 1.下载需要更新的nginx版本,解压 2.编译并make(不进行make install) 二.升级方法一 1.备份安装目录下的nginx 2.复制objs目录下的ng ...
- Nginx安装与升级
目录 Nginx安装与升级 Nginx介绍 Web服务器对比 Nginx简介 Nginx的安装 安装准备与步骤 源码安装Nginx 升级Nginx服务器 Nginx平滑升级 Nginx安装与升级 Ng ...
最新文章
- 美多商城之支付(支付宝介绍)
- greenplum:空值转换函数
- 14、四大组件--Service
- android WIFI检测与设置
- python 去除字符串的标点符号 用_7步搞定数据清洗-Python数据清洗指南
- 学习笔记day5:inline inline-block block区别
- 面向对象的Python编程,你需要知道这些!
- Week 1 Team Homework #3 from Z.XML-软件工程在北航
- Linux Apache服务详解——用户个人主页实战
- ECMAScript 基础--原始值和引用值
- java修改ajax响应头401_当jquery ajax遇上401请求的解决方法
- C/C++——C++中new与malloc的10点区别
- 解析大型Java项目架构演进(以淘宝网为例)
- 基于阿里语音识别(ASR)C/C++ SDK2.0编写的unimrcp中间件
- 机器人周志_智能机器人杂志
- activex服务器与com组件,COM和ActiveX控件设计.ppt
- Flutter随记四:null safe之 ??= 和??和 ?使用区别
- 使用Apache poi生成excel并绘制折线统计图,扇形统计图
- 哪款蓝牙耳机音质好?内行推荐四款高音质蓝牙耳机
- 推荐学习法——思维导图
热门文章
- ET框架学习——消息系统之四
- fc模拟器安卓版_【SFC】魂斗罗3-异形战争模拟器情怀通关2020_EVOS
- 使用 Fail2ban 防止 ssh 暴力破解攻击
- 用python画中国象棋棋盘
- JavaScript中的倒叙和排序
- 同一台计算机同时安装多个打印机,r230驱动-同一台电脑可不可以装两台同品牌同型号的打印 – 手机爱问...
- 微软报表工具服务器版本,Report Builder 3.0
- jsp值choose标签
- C语言经典题目:求阶乘n!=n*(n-1)*...*1,阶乘和s=1!+(2)!+(3)!+...+n!
- MATLAB | MATLAB配色不够用 全网最全的colormap补充包来啦