php-fpm的worker进程和master进程

worker进程-处理请求

每个worker进程会竞争地Accept请求,接收成功后解析fastcgi,然后执行相应的脚本,处理完成后关闭请求,继续等待新的连接,这个就是一个worker进程的生命周期。

1.等待请求

2.解析请求

fastcgi请求到达后被worker接收,然后开始接收并解析请求数据,知道request数据完全到达

3.请求初始化

4.执行php脚本

5.关闭请求

master进程-管理进程

三种不同的进程管理模式

1.静态模式static

2.动态模式dynamic 默认

3.按需模式ondemand

信号

1.SIGINT/SIGTERM/SIGQUIT

退出fpm在master收到退出信号后将向所有的worker进程发布退出信号,通知worker退出,然后master退出

2.SIGUSR1

重新加载日志文件

3.SIGUSR2

重启fpm,首先master也是回向所有的worker进行发出退出信号,等全部worker成功退出后,master会调用execvp()重新启动一个新的fpm,最后旧的master退出

4.SIGCHLD