发布于2026-07-27 阅读(0)
扫一扫,手机访问
在Ubuntu系统上管理PHP-FPM进程,其实是一件非常基础但又容易被忽视的运维工作。很多新手朋友配置完服务后,发现服务器内存占用飙升,或者网站响应变慢,往往就是进程数没控制好。今天我们就来聊聊,如何通过修改配置文件,精确限制PHP-FPM的子进程数量。

具体的操作步骤并不复杂,我们先找到配置文件。通常这个文件放在 /etc/php/{version}/fpm/pool.d/www.conf 这个路径下,其中 {version} 对应你安装的PHP版本。比如,你用的是PHP 7.4,那路径就是 /etc/php/7.4/fpm/pool.d/www.conf。用nano或vim打开它:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
打开后,你会看到这样的两行配置:
pm = dynamic
pm.max_children = 5
这里 pm 参数控制进程管理方式,默认是 dynamic(动态模式),而 pm.max_children 就是我们要限制的最大子进程数量。比如,你想把上限设为10,直接把第二行改成:
pm.max_children = 10
当然,这个值不能随便拍脑袋定。得根据服务器的物理内存和你的应用负载来算。如果设得太高,内存可能被撑爆;设得太低,并发一上来就会频繁报502或504错误。经验上看,每个PHP-FPM子进程大约占用30-50MB内存,你可以简单估算一下:总内存除以单进程内存,再留出系统余量,基本就是安全值。
如果你还想进一步防止内存泄漏,可以顺手设置 pm.max_requests 参数。这个参数控制每个子进程在处理多少次请求后自动重启,比如:
pm.max_requests = 1000
这样一来,每个子进程处理完1000个请求就会自动回收,长期运行也不容易积累问题。
改完配置后,保存文件并退出。最后一步,重启PHP-FPM服务让配置生效:
sudo systemctl restart php7.4-fpm
注意把版本号换成你自己的,比如PHP 8.1就换成 php8.1-fpm。
至此,你就成功限制了PHP-FPM的进程数量。以后如果网站访问量变大,或者服务器资源紧张,记得回来调整这个数值。一句话总结:配置本身不难,难的是根据实际情况做合理的估算和调整。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8