ubuntu

如何在Ubuntu上实现php-fpm的自动重启

小樊
57
2025-04-17 17:27:05
栏目: 编程语言

在Ubuntu上实现php-fpm的自动重启,可以通过设置定时任务(cron job)或者使用系统服务(systemd)来实现。下面分别介绍这两种方法:

方法一:使用定时任务(cron job)

  1. 打开终端,输入以下命令来编辑crontab文件:
crontab -e
  1. 在打开的crontab文件中,添加以下内容来设置定时重启php-fpm。这里以每5分钟重启一次为例:
*/5 * * * * /usr/sbin/service php7.4-fpm restart >> /var/log/php-fpm-restart.log 2>&1

注意:请根据你的PHP版本替换php7.4-fpm,例如php8.0-fpm

  1. 保存并退出crontab文件。

现在,php-fpm将每5分钟自动重启一次。你可以根据需要调整时间间隔。

方法二:使用系统服务(systemd)

  1. 创建一个新的systemd服务文件:
sudo nano /etc/systemd/system/php-fpm.service
  1. 在打开的文件中,添加以下内容:
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/run/php/php7.4-fpm.pid
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

注意:请根据你的PHP版本替换php7.4-fpmphp7.4,例如php8.0-fpmphp8.0

  1. 保存并退出文件。

  2. 重新加载systemd配置:

sudo systemctl daemon-reload
  1. 启用并启动php-fpm服务:
sudo systemctl enable php7.4-fpm
sudo systemctl start php7.4-fpm
  1. 检查php-fpm服务状态:
sudo systemctl status php7.4-fpm

现在,php-fpm将作为系统服务运行,并在出现问题时自动重启。你可以使用sudo systemctl restart php7.4-fpm手动重启服务。

0
看了该问题的人还看了