什么是平滑启动机制

  • 是一种在协议重启时保证转发业务不中断的机制。

什么时候用到平滑重启

  • 平滑重启一般应用于业务更新或者版本发布过程中,能够避免因为代码发布重启服务导致的暂时性服务不可用的影响。

ngnix 平滑重启和平滑更新

  • Nginx的进程分为master主进程和work工作进程,master进程主要管理事件信号接受和分发,所有的请求处理都由work进程处理并返回结 果,Nginx的平滑重启或重载配置文件等升级,首先是向master发送重启或重载配置文件信号,然后master告诉所有的work进程不再接受新的 请求,然后master另起新的work进程,最后告诉旧的work进程可以光荣退出了。
  • 平滑更新 :在upgrade过程中,还涉及到3个信号(USR2、WINCH和QUIT)。
    首先发送USR2信号给原master,原master进程会额外启动一个master进程和若干worker进程,新旧worker进程同时提供对外服务。
    第二步发送WINCH信号,原worker进程停止服务并退出。
    最后发送QUIT信号给原master使之退出,只保留新的master和worker。

php-fpm 平滑重启

  • php-fpm的reload平滑重启是指:假设128个php-cgi进程中有50个进程正在处理PHP程序,而剩余的78个进程处于闲置状态,php-fpm接到平滑重启信号后,会kill掉78个闲置进程,然后新启动128个进程,新请求交给新启动的进程来处理,而那50个进程,只有等到它们处理完自己当前正在执行的PHP程序后,才会被干掉。
  • php-fpm master 进程可以理解以下的信号:
    • INT, TERM 立刻终止
    • QUIT 平滑终止
    • USR1 重新打开日志文件
    • USR2 平滑重载所有worker进程并重新载入配置和二进制模块
  • 关闭php-fpm:
    • kill -INT cat /usr/local/php/var/run/php-fpm.pid
  • 平滑重启php-fpm:
    • kill -USR2 cat /usr/local/php/var/run/php-fpm.pid
  • 注意php-fpm.pid文件需要到到php-fpm.conf配置文件里面打开:
    [global]
    

; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
pid = run/php-fpm.pid
//即,将pid(;pid = run/php-fpm.pid)前的;去掉。
```
参考:https://www.cnblogs.com/justdoyou/p/7152334.html
http://ask.apelearn.com/question/11387

来源:https://www.cnblogs.com/frankltf/p/8862492.html

平滑重启更新(GR机制)相关推荐

  1. oracle tlv,OSPF GR(Graceful Restart,平滑重启)技术

    概述 GR(Graceful Restart,平滑重启)是一种在主备切换或协议重启时保证转发业务不中断的机制.其核心在于:设备进行协议重启时,能够通知其周边设备,使到该设备的邻居关系和路由在一定时 间 ...

  2. K8s上的Go服务怎么扩容、发版更新、回滚、平滑重启?教你用Deployment全搞定!

    经过前面不少文章的铺垫,终于可以写这个大家都感兴趣的话题了,在前面两篇文章,我们讲了Kubernetes里的 Pod和 副本集ReplicaSet (RS) 这两个API对象.知道了Pod是Kuber ...

  3. php 7.1.5,Centos 7平滑无缝更新PHP7.1.0到PHP 7.1.5

    试验环境:Cent os release 7.3.1611 (Core) 内核版本:Linux version 3.10.0-514.el7.x86_64 1.查看php版本有两种方法,显示结果相同. ...

  4. supervisor 重启_Golang HTTP服务平滑重启及升级

    Golang HTTP服务在上线时,需要重新编译可执行文件,关闭正在运行的进程,然后再启动新的运行进程.对于访问频率比较高的面向终端用户的产品,关闭.重启的过程中会出现无法访问(nginx表现为502 ...

  5. 文明重启服务器维护怎么卡进去,文明重启更新之后进不去,具体玩法介绍

    文明重启游戏一直受到很多玩家的关注,有一些玩家在获取到游戏安装包后,发现登陆不进去,这种情况下要怎么处理呢?无法登陆要如何解决?我们就一起来看看吧! 文明重启更新之后进不去 无法登陆解决方法 一.了解 ...

  6. Golang服务平滑重启

    与重载配置相同的是我们也需要通过信号来通知server重启,但关键在于平滑重启,如果只是简单的重启,只需要kill掉,然后再拉起即可.平滑重启意味着server升级的时候可以不用停止业务. 我们先来看 ...

  7. Go实现优雅关机与平滑重启

    前言 优雅关机就是服务端关机命令发出后不是立即关机,而是等待当前还在处理的请求全部处理完毕后再退出程序,是一种对客户端友好的关机方式.而执行Ctrl+C关闭服务端时,会强制结束进程导致正在访问的请求出 ...

  8. Nginx 的启动、停止、平滑重启、信号控制和平滑升级

    Nginx 的启动          假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/loca ...

  9. Nginx的平滑重启和升级

    Nginx的平滑重启和升级 Nginx平滑重启 如果修改了Nginx的配置文件(nginx.conf),想要重启Nginx,同样通过发送系统信号给Nginx的主进程的方式. 但是,重启之前,需要确认N ...

最新文章

  1. 发明 AI 吵架神器?程序员对象这么厉害的吗?
  2. android 视频的缩略图 缓存机制和 异步加载缩略图
  3. Linq to SQL只支持SQL Server(所选对象使用不支持的数据提供程序)
  4. zigbee cc2530地址空间 layout 和flash操作
  5. mysql 写入随机字中文符_MySQL产生随机字符
  6. 自带密钥 (BYOK)
  7. mysql创建视图不允许子查询
  8. CSS字体系列(CSS、HTML)
  9. kylin基础概念和基础性能优化
  10. html项目案例_非常时期的健身IP案例-营销100案之8
  11. 群晖3617可以有几个网卡_一步到位,购入群晖920+和它的小伙伴们
  12. 云服务器快照——是“后悔药”也是“任意门”
  13. php调java_php调java接口
  14. 网页设计企业建站实例教程
  15. 多少开发人员 饿了么_做个美团(饿了么)网站需要多少钱?
  16. ecshop mysql 操作_ecshop数据库操作函数
  17. 递归专题---[2]开根号
  18. 速算24点(C++)
  19. C++ - 实现strcpy函数
  20. java ibatis mybatis_Mybatis与Ibatis的区别

热门文章

  1. STL常用的查找算法
  2. C++STL容器大全
  3. word2vec原理_深入理解Word2Vec底层原理
  4. linux下启动oracle服务
  5. 全局和本地事务(从理论上)
  6. Oracle中PLSQL中if语句的写法
  7. Mysql 8 逻辑升级详解
  8. 学习Caffe(二)使用Caffe:Caffe加载模型+Caffe添加新层+Caffe finetune
  9. 用哈希桶实现错位字组的分类(Group Anagrams)
  10. Todolist总结