在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的自动重启。你可以根据自己的需求选择合适的方法。