温馨提示×

centos环境下php-fpm如何防止慢启动

小樊
42
2025-12-05 13:30:56
栏目: 编程语言

在 CentOS 环境下,为了防止 PHP-FPM 慢启动,可以采取以下措施:

  1. 调整 PHP-FPM 配置文件:

编辑 /etc/php-fpm.d/www.conf 文件,找到以下参数并进行调整:

  • request_terminate_timeout:设置脚本执行的最大时间,可以根据实际需求进行调整。
  • pm.process_idle_timeout:设置空闲进程的超时时间,可以根据实际需求进行调整。

例如:

request_terminate_timeout = 0
pm.process_idle_timeout = 30s
  1. 使用 systemd 设置 PHP-FPM 服务:

如果你使用的是 CentOS 7 或更高版本,可以使用 systemd 来管理 PHP-FPM 服务。编辑 /usr/lib/systemd/system/php-fpm.service 文件,找到以下部分:

[Service]
ExecStart=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.d/www.conf

ExecStart 行之前添加以下内容:

ExecStartPre=/bin/sleep 5

这将使 PHP-FPM 服务在启动前等待 5 秒,从而避免慢启动。然后重新加载 systemd 配置并重启 PHP-FPM 服务:

sudo systemctl daemon-reload
sudo systemctl restart php-fpm
  1. 使用 supervisord 管理 PHP-FPM 进程:

supervisord 是一个进程管理工具,可以用来管理 PHP-FPM 进程,确保其始终运行。首先安装 supervisord

sudo yum install supervisor

然后创建一个新的配置文件 /etc/supervisord.d/php-fpm.conf,并添加以下内容:

[program:php-fpm]
command=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.d/www.conf
autostart=true
autorestart=true
stderr_logfile=/var/log/php-fpm.err.log
stdout_logfile=/var/log/php-fpm.out.log

接下来,启动 supervisord 服务并设置开机自启:

sudo systemctl start supervisord
sudo systemctl enable supervisord

通过以上方法,可以有效防止 CentOS 环境下 PHP-FPM 的慢启动。

0