准备工作
在开始安装PHP-FPM前,需确保系统环境为CentOS 7或更高版本(推荐CentOS 8),并已具备管理员权限(通过sudo
或root
账户),建议先更新系统软件包,避免依赖冲突:

- sudo yum update -y
步骤一:添加EPEL仓库与Remi仓库
CentOS默认仓库中的PHP版本可能较低,需通过第三方仓库获取最新稳定版。
1、安装EPEL仓库:
- sudo yum install epel-release -y
2、添加Remi仓库(支持多版本PHP):
- sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
(若为CentOS 7,替换链接中的8
为7
)
步骤二:启用目标PHP版本

Remi仓库支持多个PHP版本(如7.4、8.0、8.1等),需明确选择所需版本,以PHP 8.1为例:
- sudo yum module enable php:remi-8.1 -y
步骤三:安装PHP-FPM及扩展
执行以下命令安装核心组件:
- sudo yum install php php-fpm php-common php-mysqlnd php-opcache php-gd php-curl php-zip -y
根据需求可追加扩展(如php-redis
、php-xml
等)。
步骤四:配置PHP-FPM
1、修改主配置文件(路径:/etc/php-fpm.d/www.conf
):

- sudo vi /etc/php-fpm.d/www.conf
调整以下参数以优化性能:
- user = nginx # 若使用Nginx,改为nginx;Apache则保留apache
- group = nginx
- listen = /run/php-fpm/www.sock # 使用Unix Socket提升效率
- listen.owner = nginx
- listen.group = nginx
- pm = dynamic
- pm.max_children = 50
- pm.start_servers = 5
- pm.min_spare_servers = 3
- pm.max_spare_servers = 10
2、保存后启动服务并设为开机自启:
- sudo systemctl start php-fpm
- sudo systemctl enable php-fpm
步骤五:验证PHP-FPM运行状态
1、检查服务是否正常:
- sudo systemctl status php-fpm
输出显示active (running)
即表示成功。
2、创建测试文件验证PHP解析:
在Web目录(如/var/www/html/
)新建info.php
:
- <?php phpinfo(); ?>
访问http://服务器IP/info.php
,若显示PHP信息页则配置正确。
性能优化建议
调整进程管理参数:根据服务器内存动态设置pm.max_children
,计算公式为可用内存 / 单进程内存占用
。
启用OPcache:编辑php.ini
(路径:/etc/php.ini
),确保以下参数启用:
- opcache.enable=1
- opcache.memory_consumption=128
- opcache.max_accelerated_files=10000
日志监控:定期检查/var/log/php-fpm/error.log
,排查潜在错误。
常见问题处理
1、502 Bad Gateway错误:
- 检查PHP-FPM用户与Web服务器(如Nginx)用户是否一致。
- 确认Socket文件权限(需Web服务器用户可读写)。
2、扩展未加载:
- 使用php -m
查看已加载模块,若缺失则通过yum install
安装对应扩展。
个人观点
PHP-FPM作为高效的FastCGI进程管理器,能显著提升PHP应用的并发处理能力,对于长期运行的站点,建议结合监控工具(如Prometheus)实时分析性能瓶颈,并根据流量变化动态调整资源配置,定期更新PHP版本至官方支持的安全版本,是保障服务器稳定性的关键。