如何配置CentOS PHP-FPM
配置CentOS上PHP-FPM:先安装PHP及php-fpm,核心修改www.conf中的user、listen和pm参数。启动服务并设为开机自启后,配置Nginx或Apache转发PHP请求至PHP-FPM,重启Web服务器并验证。
配置CentOS上的PHP-FPM(FastCGI Process Manager)?整个过程其实并不复杂,几个核心步骤就能搞定,这里把关键点逐一拆开说清楚。

1. 安装PHP和PHP-FPM
先做准备工作,确保系统包是最新的——这条虽然老生常谈,但确实省去不少后患:
sudo yum update -y
然后安装PHP和PHP-FPM,一行搞定:
sudo yum install -y epel-release
sudo yum install -y php php-fpm
这里的epel-release是额外软件源,装PHP时经常会用到,尤其是一些扩展包。
2. 配置PHP-FPM
PHP-FPM的核心配置文件是/etc/php-fpm.d/www.conf。打开它:
sudo vi /etc/php-fpm.d/www.conf
几个关键参数值得花时间调一调:
user和group:运行PHP-FPM的用户和组,通常和Web服务器保持一致,比如apache或nginx。listen:监听地址。你可以选Unix socket(比如/run/php-fpm/www.sock)或者TCP端口(比如127.0.0.1:9000)。Socket方式性能更好,但需要处理好权限。listen.owner和listen.group:Socket文件的所有者和组,确保Web服务器能读写。pm:进程管理模式,dynamic最常用——按需动态调整子进程数;static则固定数量;ondemand只在请求到来时才启动。pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers:这四个参数控制进程池的规模。具体数值得根据服务器内存和并发量来设,下面是个通用参考:
user = apache
group = apache
listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
3. 启动和启用PHP-FPM
配置好了就启动服务,并设为开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
到这里PHP-FPM已经跑起来了,但还需要让Web服务器知道怎么跟它配合。
4. 配置Nginx或Apache
如果用的是Nginx,编辑它的站点配置文件(通常/etc/nginx/conf.d/default.conf):
sudo vi /etc/nginx/conf.d/default.conf
添加或修改一个location块来处理PHP请求:
server {
listen 80;
server_name your_domain.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
注意fastcgi_pass后面的地址要和www.conf里listen保持一致。如果你配置的是TCP端口,就改成127.0.0.1:9000。
如果用的是Apache,先启用proxy_fcgi模块:
sudo a2enmod proxy_fcgi setenvif
然后在虚拟主机配置里加一段FilesMatch,让Apache把.php文件交给PHP-FPM处理:
sudo vi /etc/httpd/conf.d/your_domain.conf
ServerName your_domain.com
DocumentRoot /var/www/html
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
SetHandler "proxy:fcgi://localhost:9000"
这里用的是localhost:9000,如果你之前配置的是Unix socket,就需要对应的proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/格式,不过一般生产环境用Socket时仍然走mod_proxy_fcgi,写法稍有不同,建议根据具体版本查一下文档。
5. 重启Nginx或Apache
所有改动都到位后,重启Web服务器:
Nginx:
sudo systemctl restart nginx
Apache:
sudo systemctl restart httpd
最后可以用一个简单的phpinfo()文件验证一下——在站点根目录放个info.php,内容写,浏览器访问就能看到PHP-FPM的工作状态了。到这一步,CentOS上的PHP-FPM配置就算走通了。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













