调整 PHP-FPM(FastCGI Process Manager)进程管理可以通过修改其配置文件来实现。以下是一些常见的调整方法:
www.conf
文件www.conf
是 PHP-FPM 的主要配置文件,通常位于 /etc/php-fpm.d/www.conf
或 /etc/php/7.x/fpm/pool.d/www.conf
(具体路径取决于你的系统和 PHP 版本)。
pm
: 进程管理方式,可选值有 dynamic
、static
、ondemand
。
dynamic
: 根据负载动态调整进程数。static
: 固定数量的进程。ondemand
: 按需启动进程。pm.max_children
: 最大子进程数。pm.start_servers
: 启动时的服务器进程数。pm.min_spare_servers
: 最小空闲服务器进程数。pm.max_spare_servers
: 最大空闲服务器进程数。pm.max_requests
: 每个子进程在被重启之前可以处理的请求数。pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
php-fpm.conf
文件php-fpm.conf
是 PHP-FPM 的主配置文件,通常位于 /etc/php/7.x/fpm/php-fpm.conf
。
request_terminate_timeout
: 请求超时时间,单位为秒。slowlog
: 慢日志文件路径。request_terminate_timeout = 0
slowlog = /var/log/php-fpm/slow.log
pool
配置如果你使用的是多个 PHP-FPM pool(例如,不同的虚拟主机或应用),可以在 pool.d
目录下创建或修改相应的配置文件。
[www]
listen = /run/php/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
user = www-data
group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
修改配置文件后,需要重启 PHP-FPM 服务以使更改生效。
sudo systemctl restart php7.4-fpm
或者,如果你使用的是 init.d
脚本:
sudo /etc/init.d/php7.4-fpm restart
在调整配置后,监控 PHP-FPM 的性能和资源使用情况,根据实际情况进一步微调参数。可以使用工具如 top
、htop
、php-fpm status
等来监控。
通过以上步骤,你可以有效地调整 PHP-FPM 的进程管理,以优化性能和资源利用率。