mac系统,如何控制php-fpm的进程数?
发布于 作者:苏南大叔 来源:程序如此灵动~
苏南大叔在上一篇文章(https://newsn.net/say/php-fpm-command.html)中,向大家介绍了php-fpm的配置文件修改及生效的事情。那么在本篇文章中,就带着大家实战:如何修改php-fpm
的进程数量。
修改这个有什么用呢?在phptrace
的时候,如果有很多个php-fpm
都一并存在的话,是不是就不知道改attach
哪个pid
了?本篇文章就可以解决这个痛点。
如何控制子进程,选项有static
和dynamic
。如果选择static
,则由pm.max_children
指定固定的子进程数。对于专用服务器,pm
值可以设置为static
。如果选择dynamic
,则由一系列参数控制。测试环境:mac
。
查看配置文件路径
php-fpm 加载的哪个配置文件呢?可以通过下面的语句来查看:
同时也可以通过上述命令查看到php-fpm
的进程数量。
ps aux|grep php-fpm
设置为固定数量的static
模式
编辑php-fpm.conf
中pm
为static
,pm.max_children
值即可。注意,即使把max_children
设置为1
,在ps
的时候,也会至少看到两个php-fpm
信息,据说一个是主进程,另外的是worker
进程。worker
进程的pid
号是连续的,和主进程的pid
有段间距。所以,可以据此进行区分。
设置为动态数量的dynamic
模式
编辑php-fpm.conf
中pm
为dynamic
,然后修改:pm.max_children
、pm.start_servers
、pm.min_spare_servers
、pm.max_spare_servers
值即可。
pm = dynamic
如果选择dynamic
,则由下开参数决定:
pm.max_children # 子进程最大数
pm.start_servers # 启动时的进程数
pm.min_spare_servers # 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers # 保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
总结
结合前几篇文章,你就可以自由控制php-fpm
,配置phptrace
来查看php
的堆栈信息了。更多苏南大叔的php-fpm
的文章,请点击这里查看。


