在Linux系統中,可以使用systemd或supervisord來實現PHP-FPM的自動重啟。下面是兩種方法的詳細步驟:
方法一:使用systemd
sudo nano /etc/systemd/system/php-fpm.service
[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
保存并關閉文件。
重新加載systemd配置:
sudo systemctl daemon-reload
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm
方法二:使用supervisord
sudo apt-get install supervisor
sudo nano /etc/supervisor/conf.d/php-fpm.conf
[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
保存并關閉文件。
重新加載supervisord配置:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status php-fpm
以上兩種方法都可以實現PHP-FPM的自動重啟。你可以根據自己的需求選擇合適的方法。