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不停机升级相关推荐

  1. 复杂系统如何在不停机升级同时保持稳定?你必须考虑以下几个点...

    背景 在互联网行业,线上服务的升级更新可谓家常便饭.据统计,在过去的一个季度中闲鱼工程师们执行了千余次发布,总计更新的代码数量超过百万行. 这些发布中,有一些可能只更新了几行代码,而有一些可能执行了整 ...

  2. nginx的平滑升级方法:

    最简单的nginx的平滑升级方法: 1 找到nginx的执行文件的路径 1 # ps auxf|grep nginx  记下nginx的master进程 pid(我这里是2752 ) 2 查看当前ng ...

  3. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

     1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...

  4. 源码安装nginx以及平滑升级

    源码安装nginx以及平滑升级 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 这个博客不方便上传软件包,我给大家把软件包放到百度云 ...

  5. 使用 Caddy 替代 Nginx,全站升级 https,配置更加简单

    使用 Caddy 替代 Nginx,全站升级 https,配置更加简单 Caddy 是什么? Caddy 是一个多功能的 HTTP web服务器,并且使用Let's Encrypt提供的免费证书,自动 ...

  6. lnmp 下php升级,lnmp nginx和php升级方法

    lnmp nginx和php升级方法,很简单,如下: 升级程序 6.升级Nginx版本,执行如下命令:./upgrade_nginx.sh 按提示输入nginx的版本号,如1.0.10,版本号可以从h ...

  7. nginx的平滑升级

    前言 关于nginx,我们通常都会提到nginx的平滑升级.即在不影响业务的情况下,对正在使用的nginx的版本进行升级.而这个操作是只在有必要升级时才进行的. 关于nginx的平滑升级与nginx添 ...

  8. 如何在生产中实现Elasticsearch的零停机升级

    文章目录 1. 版本注意事项 2.定义升级策略 2.0 快照备份 2.1 滚动升级(minor或单个major升级) 2.1.1 Elasticsearch运行在最新的次要版本上 2.1.2 Elas ...

  9. nginx进行平滑升级

    文章目录 前言 一.准备工作 1.下载需要更新的nginx版本,解压 2.编译并make(不进行make install) 二.升级方法一 1.备份安装目录下的nginx 2.复制objs目录下的ng ...

  10. Nginx安装与升级

    目录 Nginx安装与升级 Nginx介绍 Web服务器对比 Nginx简介 Nginx的安装 安装准备与步骤 源码安装Nginx 升级Nginx服务器 Nginx平滑升级 Nginx安装与升级 Ng ...

最新文章

  1. 美多商城之支付(支付宝介绍)
  2. greenplum:空值转换函数
  3. 14、四大组件--Service
  4. android WIFI检测与设置
  5. python 去除字符串的标点符号 用_7步搞定数据清洗-Python数据清洗指南
  6. 学习笔记day5:inline inline-block block区别
  7. 面向对象的Python编程,你需要知道这些!
  8. Week 1 Team Homework #3 from Z.XML-软件工程在北航
  9. Linux Apache服务详解——用户个人主页实战
  10. ECMAScript 基础--原始值和引用值
  11. java修改ajax响应头401_当jquery ajax遇上401请求的解决方法
  12. C/C++——C++中new与malloc的10点区别
  13. 解析大型Java项目架构演进(以淘宝网为例)
  14. 基于阿里语音识别(ASR)C/C++ SDK2.0编写的unimrcp中间件
  15. 机器人周志_智能机器人杂志
  16. activex服务器与com组件,COM和ActiveX控件设计.ppt
  17. Flutter随记四:null safe之 ??= 和??和 ?使用区别
  18. 使用Apache poi生成excel并绘制折线统计图,扇形统计图
  19. 哪款蓝牙耳机音质好?内行推荐四款高音质蓝牙耳机
  20. 推荐学习法——思维导图

热门文章

  1. ET框架学习——消息系统之四
  2. fc模拟器安卓版_【SFC】魂斗罗3-异形战争模拟器情怀通关2020_EVOS
  3. 使用 Fail2ban 防止 ssh 暴力破解攻击
  4. 用python画中国象棋棋盘
  5. JavaScript中的倒叙和排序
  6. 同一台计算机同时安装多个打印机,r230驱动-同一台电脑可不可以装两台同品牌同型号的打印 – 手机爱问...
  7. 微软报表工具服务器版本,Report Builder 3.0
  8. jsp值choose标签
  9. C语言经典题目:求阶乘n!=n*(n-1)*...*1,阶乘和s=1!+(2)!+(3)!+...+n!
  10. MATLAB | MATLAB配色不够用 全网最全的colormap补充包来啦