Karp 的技术博客

在 Linux 系统中,您可以将 PHP-FPM 配置为服务,以便更方便地管理其启动、停止和重启。以下是在常见的 Linux 发行版(如 CentOS 和 Ubuntu)中配置 PHP-FPM 为服务的步骤。

1. 安装 PHP-FPM

首先,确保您已安装 PHP-FPM。根据您的 Linux 发行版,您可以使用以下命令进行安装。

CentOS

sudo yum install php-fpm

Ubuntu

sudo apt update
sudo apt install php-fpm

2. 配置 PHP-FPM

在安装完成后,您需要配置 PHP-FPM。编辑配置文件,通常位于 /etc/php-fpm.d/www.conf/etc/php/7.x/fpm/pool.d/www.conf(具体路径可能因 PHP 版本和发行版而异)。

sudo nano /etc/php-fpm.d/www.conf  # CentOS

sudo nano /etc/php/7.x/fpm/pool.d/www.conf  # Ubuntu

确保以下配置项设置正确:

listen = 127.0.0.1:9000  # 配置 PHP-FPM 监听的地址和端口

3. 创建 Systemd 服务文件

CentOS / Ubuntu

您可以创建一个 Systemd 服务文件来管理 PHP-FPM。通常,该文件位于 /etc/systemd/system/

sudo nano /etc/systemd/system/php-fpm.service

在文件中添加以下内容:

[Unit]
Description=The PHP 7.x FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/run/php/php7.x-fpm.pid  # 根据您的 PHP 版本修改
ExecStart=/usr/sbin/php-fpm7.x --nodaemonize  # 根据您的 PHP 版本修改
ExecReload=/bin/kill -USR2 $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

注意事项

  • 确保 ExecStart 中的 PHP-FPM 路径和版本号正确。
  • 对于 PHP 7.4,通常是 php-fpm7.4;对于 PHP 8.0,则是 php-fpm8.0

4. 重新加载 Systemd

创建或修改服务文件后,您需要重新加载 Systemd,以便它识别新服务。

sudo systemctl daemon-reload

5. 启动 PHP-FPM 服务

使用以下命令启动 PHP-FPM 服务:

sudo systemctl start php-fpm

6. 设置开机自启

如果您希望 PHP-FPM 在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable php-fpm

7. 管理 PHP-FPM 服务

您可以使用以下命令管理 PHP-FPM 服务:

  • 检查状态

    sudo systemctl status php-fpm
  • 停止服务

    sudo systemctl stop php-fpm
  • 重启服务

    sudo systemctl restart php-fpm
  • 重新加载配置

    sudo systemctl reload php-fpm

8. 配置防火墙(可选)

如果您使用的是防火墙(如 firewalldufw),确保允许 PHP-FPM 的监听端口(默认是 9000)。

CentOS(firewalld)

sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

Ubuntu (ufw)

sudo ufw allow 9000/tcp

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2024年10月21日 02:50
0

目录

来自 《在 Linux 中将 PHP-FPM 配置成 Service》