温馨提示×

PHP-FPM在Linux上如何实现自动重启

小樊
48
2025-11-04 09:28:56
栏目: 编程语言

在Linux上,您可以使用systemd服务来实现PHP-FPM的自动重启。以下是创建和配置systemd服务的步骤:

  1. 创建一个新的systemd服务文件:

使用文本编辑器(如nano或vim)创建一个新的服务文件。例如,我们将创建一个名为php-fpm.service的文件:

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-fpm/php-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版本和安装路径修改ExecStart行。例如,如果您使用的是PHP 8.0,那么它应该是:

ExecStart=/usr/sbin/php-fpm8.0 --nodaemonize --fpm-config /etc/php/8.0/fpm/php-fpm.conf
  1. 保存并关闭服务文件。

  2. 重新加载systemd配置:

运行以下命令以使更改生效:

sudo systemctl daemon-reload
  1. 启动PHP-FPM服务:
sudo systemctl start php-fpm.service
  1. 设置PHP-FPM服务在系统启动时自动运行:
sudo systemctl enable php-fpm.service
  1. 检查PHP-FPM服务的状态:
sudo systemctl status php-fpm.service

现在,PHP-FPM服务将在系统启动时自动运行,并在需要时自动重启。如果您需要手动重启服务,可以使用以下命令:

sudo systemctl restart php-fpm.service

或者,您可以使用以下命令重新加载配置并优雅地重启服务:

sudo systemctl reload php-fpm.service

0