在Ubuntu系统中,可以使用systemd来管理PHP-FPM服务,从而实现自动重启。以下是具体步骤:
- 确保已经安装了PHP-FPM。如果没有安装,可以使用以下命令进行安装:
sudo apt-get update sudo apt-get install php-fpm
- 创建一个新的systemd服务文件。使用文本编辑器(如nano)创建一个名为
php-fpm.service
的新文件:
sudo nano /etc/systemd/system/php-fpm.service
- 将以下内容粘贴到
php-fpm.service
文件中,根据实际情况修改User
和Group
(通常是www-data):
[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.x/fpm/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
请注意,你需要将/etc/php/7.x/fpm/php-fpm.conf
替换为实际的PHP-FPM配置文件路径。你可以通过运行php --ini
命令找到配置文件的路径。
-
保存并关闭文件。
-
重新加载systemd配置以识别新创建的服务:
sudo systemctl daemon-reload
- 启动PHP-FPM服务:
sudo systemctl start php-fpm
- 设置PHP-FPM服务开机自启:
sudo systemctl enable php-fpm
现在,PHP-FPM服务将在系统启动时自动运行,并在发生故障时自动重启。如果需要手动重启PHP-FPM服务,可以使用以下命令:
sudo systemctl restart php-fpm
或者使用以下命令发送USR2信号,以便在不中断正在处理的请求的情况下重新加载配置:
sudo systemctl reload php-fpm