php-fpm 平滑重启原理

关于PHP平滑启动
可以参考 PHP 重启 php-fpm 的几种方法

信号

  1. SIGINT、SIGTERM、SIGQUIT:退出Fpm,在master收到退出信号后将向所有的 worker 进程发送退出信号,通知 worker 退出,然后 master 退出
  2. SIGUSR1: 重新加载日志文件,生产环境中通常会根据时间对日志进行切割,切割后会生成一个新的日志文件,如果进程不重新加载文件,则无法继续写入日志,这时就需要向 master 发送一个 USR1 的信号,告诉 master 重新加载日志文件。
  3. SIGUSR2: 重启 Fpm,首先 master 也是会向所有的 worker进程发送退出信号,等全部 worker 成功退出后,master 会调用 execvp() 重新启动一个新的 Fpm,最后旧的 master 退出。

其中上面的信号可以省略 SIG,也可以小写。比如:kill -SIGUSR2 pid -> kill -USR2 pid -> kill -usr2 pid

以上选自 PHP7 内核剖析 第 2 章 2.2.4 master-进程管理 (1)信号事件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值