使用 systemd 管理 PHP-FPM 进程,保持服务长久稳定运行
2023-11-12 05:28:20
PHP-FPM 简介
PHP-FPM(FastCGI Process Manager)是一个 FastCGI 管理器,用于管理 PHP 进程池,并为 Web 服务器(例如 Nginx、Apache 等)提供 PHP 解析服务。PHP-FPM 通过 master 进程管理多个 worker 进程,当 Web 服务器收到 PHP 请求时,master 进程会将请求分配给其中一个 worker 进程进行处理。
守护进程
守护进程是一种在后台运行的进程,通常用于执行一些长期运行的任务。守护进程通常不会与终端交互,并且在系统启动时自动启动,并在系统关闭时自动停止。
使用 systemd 管理 PHP-FPM
systemd 是 Linux 系统中广泛使用的系统和服务管理工具。我们可以使用 systemd 来管理 PHP-FPM 进程,以确保 PHP-FPM 服务能够在 Linux 系统中长期稳定运行。
1. 安装 PHP-FPM
首先,我们需要在 Linux 系统中安装 PHP-FPM。PHP-FPM 的安装方法因系统而异,但通常可以通过以下命令安装:
sudo apt-get install php-fpm
2. 创建 systemd 单元文件
接下来,我们需要创建一个 systemd 单元文件来 PHP-FPM 服务。systemd 单元文件是一个文本文件,其中包含了有关服务的各种信息,例如服务的名称、、可执行文件路径、启动参数等。
PHP-FPM 的 systemd 单元文件通常位于 /etc/systemd/system/
目录中。我们可以使用以下命令创建一个新的 systemd 单元文件:
sudo nano /etc/systemd/system/php-fpm.service
然后,在打开的文本编辑器中输入以下内容:
[Unit]
Description=PHP-FPM Service
After=network.target
[Service]
Type=forking
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf
ExecReload=/usr/sbin/php-fpm -t && /usr/sbin/php-fpm -F
[Install]
WantedBy=multi-user.target
3. 启用并启动 PHP-FPM 服务
创建好 systemd 单元文件后,我们需要启用并启动 PHP-FPM 服务。我们可以使用以下命令来完成此操作:
sudo systemctl enable php-fpm.service
sudo systemctl start php-fpm.service
4. 验证 PHP-FPM 服务是否正常运行
我们可以使用以下命令来验证 PHP-FPM 服务是否正常运行:
sudo systemctl status php-fpm.service
如果 PHP-FPM 服务正常运行,我们将看到以下输出:
● php-fpm.service - PHP-FPM Service
Loaded: loaded (/etc/systemd/system/php-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-04-25 15:39:03 UTC; 5s ago
Main PID: 19238 (php-fpm)
CGroup: /system.slice/php-fpm.service
└─19238 /usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf
Apr 25 15:39:03 ubuntu systemd[1]: Starting PHP-FPM Service...
Apr 25 15:39:03 ubuntu systemd[1]: Started PHP-FPM Service.
结论
通过使用 systemd 管理 PHP-FPM 进程,我们可以确保 PHP-FPM 服务能够在 Linux 系统中长期稳定运行。systemd 提供了强大的功能来管理服务,例如自动启动、停止、重新加载等,使我们能够轻松地控制 PHP-FPM 服务。