温馨提示×

Linux php-fpm如何实现自动重启

小樊
61
2025-06-06 22:44:23
栏目: 编程语言

在Linux系统中,可以使用systemd或supervisord来实现PHP-FPM的自动重启。下面是两种方法的详细步骤:

方法一:使用systemd

  1. 创建一个新的systemd服务文件:
sudo nano /etc/systemd/system/php-fpm.service
  1. 将以下内容粘贴到文件中,根据实际情况修改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-fpm --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. 保存并关闭文件。

  2. 重新加载systemd配置:

sudo systemctl daemon-reload
  1. 启动PHP-FPM服务:
sudo systemctl start php-fpm
  1. 设置PHP-FPM服务开机自启:
sudo systemctl enable php-fpm
  1. 若要检查PHP-FPM服务状态,可以使用以下命令:
sudo systemctl status php-fpm

方法二:使用supervisord

  1. 首先确保已经安装了supervisord:
sudo apt-get install supervisor
  1. 创建一个新的supervisord配置文件:
sudo nano /etc/supervisor/conf.d/php-fpm.conf
  1. 将以下内容粘贴到文件中,根据实际情况修改command等参数:
[program:php-fpm]
process_name=%(program_name)s_%(process_num)02d
command=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/log/supervisor/php-fpm.log
stopwaitsecs=5
  1. 保存并关闭文件。

  2. 重新加载supervisord配置:

sudo supervisorctl reread
sudo supervisorctl update
  1. 若要检查PHP-FPM服务状态,可以使用以下命令:
sudo supervisorctl status php-fpm

以上两种方法都可以实现PHP-FPM的自动重启。你可以根据自己的需求选择合适的方法。

0