教程 nginx tutorial

安装与配置 PHP-FPM

PHP-FPM 是 PHP 的 FastCGI 进程管理器,用于处理动态请求,与 Nginx 配合提供高性能 PHP 服务。

一、安装 PHP-FPM

1. 在 Linux 系统上安装

CentOS / RockyLinux

bash
sudo dnf install php-fpm php-mysqlnd php-cli -y
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm

`

Debian / Ubuntu

bash
sudo apt update
sudo apt install php-fpm php-mysql php-cli -y
sudo systemctl enable php7.4-fpm
sudo systemctl start php7.4-fpm
sudo systemctl status php7.4-fpm

2. Windows 系统

  1. 下载 PHP 官方 Zip 包
  2. 解压并修改 php.ini 启用 cgi.fix_pathinfo=1
  3. 配置 php-fpm.conf 并启动 php-cgi.exe -b 127.0.0.1:9000

二、PHP-FPM 池配置

PHP-FPM 通过 池(pool) 管理多个工作进程:

ini
; /etc/php-fpm.d/www.conf
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

主要参数说明

  • user / group:运行 PHP-FPM 工作进程的用户与组
  • listen:监听地址,可为 TCP 或 Unix Socket
  • pm:进程管理模式(dynamic, static, ondemand)
  • pm.max_children:允许同时处理的最大请求数
  • pm.start_servers / min_spare_servers / max_spare_servers:控制动态进程数量

三、Nginx 配合 PHP-FPM

nginx
location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

确保 fastcgi_pass 地址与 PHP-FPM 池监听地址一致。

四、常用服务管理命令

bash
sudo systemctl start php-fpm
sudo systemctl stop php-fpm
sudo systemctl restart php-fpm
sudo systemctl reload php-fpm

通过正确安装与配置 PHP-FPM,你可以让 Nginx 高效处理 PHP 动态请求,实现稳定的 Web 服务环境。