美文网首页
PHP 平滑重启原理

PHP 平滑重启原理

作者: 莴牛 | 来源:发表于2021-09-14 16:20 被阅读0次

    重启命令

    // 命令
    systemctl reload php-fpm
    
    // 原理
    /bin/kill -USR2 主进程id
    

    配置php.conf

    [global]
    pid = run/php7-fpm.pid
    error_log = /data/logs/php/php7-fpm.err
    log_level = notice
    // 增加以下配置
    process_control_timeout = 10
    

    process_control_timeout是留给子进程处理来自master进程信号的时间限制。

    master进程根据接收到的信号以及当前的php-fpm运行状态决定发送给worker进程的是SIGQUIT还是SIGTERM,同时注册时间为process_control_timeout的定时时间,
    如果在process_control_timeout时间内子进程没退出,master就会升级信号,SIHQUIT->SIGTERM,SIGTERM->SIGKILL,当信号为SIGTERM时还会注册1s的定时事件,留多1秒给worker进程结束,1秒后还未结束,信号升级为SIGKILL,直接终止worker进程。

    相关文章

      网友评论

          本文标题:PHP 平滑重启原理

          本文链接:https://www.haomeiwen.com/subject/bmbcgltx.html