在 Ubuntu 系统中,PHP-FPM(FastCGI Process Manager)通常作为 PHP 的一个 FastCGI 实现来使用。它可以通过 systemd 进行管理,因此启动脚本通常是 systemd 服务单元文件。以下是如何创建和配置 PHP-FPM 的 systemd 服务单元文件的步骤。
创建 systemd 服务单元文件
打开终端并使用文本编辑器(如 nano 或 vim)创建一个新的 systemd 服务单元文件。例如,使用 nano:
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 请注意以下几点:
Description:服务的描述。After:指定服务启动的顺序,确保在网络和日志服务之后启动。Type:服务类型,这里使用 simple。PIDFile:PHP-FPM 的 PID 文件路径。ExecStart:启动 PHP-FPM 的命令。请根据你的 PHP 版本调整路径和参数。ExecReload:重新加载配置的命令,使用 USR2 信号来平滑重启 PHP-FPM。PrivateTmp:为服务创建一个私有的临时目录。重新加载 systemd 配置
保存并关闭文件后,重新加载 systemd 配置以识别新的服务单元文件:
sudo systemctl daemon-reload 启动 PHP-FPM 服务
使用以下命令启动 PHP-FPM 服务:
sudo systemctl start php-fpm 设置开机自启动
如果希望 PHP-FPM 服务在系统启动时自动运行,可以使用以下命令:
sudo systemctl enable php-fpm 检查服务状态
使用以下命令检查 PHP-FPM 服务的状态:
sudo systemctl status php-fpm 通过以上步骤,你可以在 Ubuntu 系统中创建和配置 PHP-FPM 的 systemd 服务单元文件,并确保服务能够正确启动和管理。