商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Linux中PHP-FPM如何实现自动重启

Linux中PHP-FPM如何实现自动重启

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

在Linux系统中,要实现PHP-FPM的自动重启,其实有不少现成的方案。下面介绍三种最常用的方法,覆盖了从systemd到Supervisor再到cron的典型场景。无论你是运维新手还是老手,这套组合拳基本能应对大部分需求。

Linux中PHP-FPM如何实现自动重启

  1. 使用systemd服务管理器

首先创建一个新的systemd服务文件:

sudo nano /etc/systemd/system/php-fpm.service

将以下内容粘贴进去(注意根据实际情况修改User、Group和ExecStart等参数):

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
User=www-data
Group=www-data
ExecStart=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存退出后,执行以下命令重新加载systemd配置并启动服务:

sudo systemctl daemon-reload
sudo systemctl start php-fpm

如果想让PHP-FPM开机自启动,再加上一句:

sudo systemctl enable php-fpm
  1. 使用Supervisor进程管理器

先确保已安装Supervisor:

sudo apt-get install supervisor

然后创建配置文件:

sudo nano /etc/supervisor/conf.d/php-fpm.conf

填入以下内容(command参数请根据实际路径和版本调整):

[program:php-fpm]
process_name=%(program_name)s_%(process_num)02d
command=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf
autostart=true
autorestart=true
numprocs=5
startsecs=0
stopwaitsecs=0
user=www-data
redirect_stderr=true
stdout_logfile=/var/log/supervisor/php-fpm.log

保存后重新加载Supervisor配置并启动:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start php-fpm
  1. 使用cron定时任务

编辑当前用户的crontab:

crontab -e

在文件末尾添加一行,实现每分钟检查一次PHP-FPM状态,若未运行则启动:

* * * * * /usr/bin/systemctl is-active --quiet php-fpm || /usr/bin/systemctl start php-fpm

保存退出即可。这种方法特别适合那些不想引入额外守护进程的场景,但缺点也很明显——重启会有最多一分钟的延迟。

需要特别提醒的是:以上示例中的PHP版本均为7.4,实际使用时请根据你的PHP版本和安装路径进行调整(比如PHP 8.0、8.1等)。另外,如果系统中PHP-FPM的二进制路径或配置文件位置有差异,记得同步修改。

本文转载于:https://www.yisu.com/ask/13237596.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注