在Ubuntu上实现php-fpm的自动重启,可以通过设置定时任务(cron job)或者使用系统服务(systemd)来实现。下面分别介绍这两种方法:
crontab -e
*/5 * * * * /usr/sbin/service php7.4-fpm restart >> /var/log/php-fpm-restart.log 2>&1
注意:请根据你的PHP版本替换php7.4-fpm
,例如php8.0-fpm
。
现在,php-fpm将每5分钟自动重启一次。你可以根据需要调整时间间隔。
sudo nano /etc/systemd/system/php-fpm.service
[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-fpm
和php7.4
,例如php8.0-fpm
和php8.0
。
保存并退出文件。
重新加载systemd配置:
sudo systemctl daemon-reload
sudo systemctl enable php7.4-fpm
sudo systemctl start php7.4-fpm
sudo systemctl status php7.4-fpm
现在,php-fpm将作为系统服务运行,并在出现问题时自动重启。你可以使用sudo systemctl restart php7.4-fpm
手动重启服务。