ubuntu如何限制php-fpm进程数量
在Ubuntu系统上管理PHP-FPM进程,其实是一件非常基础但又容易被忽视的运维工作。很多新手朋友配置完服务后,发现服务器内存占用飙升,或者网站响应变慢,往往就是进程数没控制好。今天我们就来聊聊,如何通过修改配置文件,精确限制PHP-FPM的子进程数量。 具体的操作步骤并不复杂,我们先找到配置文件
在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的进程数量。以后如果网站访问量变大,或者服务器资源紧张,记得回来调整这个数值。一句话总结:配置本身不难,难的是根据实际情况做合理的估算和调整。
IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。
JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。
JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。
JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,
PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,
PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,













