CentOS 配置 PHPFPM
一、安装与配置步骤
1. 安装 Apache 和 PHPFPM
在 CentOS 中,首先需要确保系统已经安装了 Apache,如果尚未安装,可以使用以下命令进行安装:
sudo yum install httpd y
安装 PHP 和 PHPFPM,注意顺序,先安装 PHPFPM,再安装 PHP:
sudo yum install phpfpm php y
2. 配置 Apache 以使用 PHPFPM
编辑 Apache 配置文件/etc/httpd/conf.d/php.conf
,确保以下内容存在:
<FilesMatch \.php$> SetHandler "proxy:unix:/run/phpfpm/www.sock|fcgi://localhost" </FilesMatch>
禁用默认的 mod_php 模块:
sudo vi /etc/httpd/conf.modules.d/00base.conf 在文件开头添加以下行 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
重启 Apache 使配置生效:
sudo systemctl restart httpd
3. 配置 PHPFPM
PHPFPM 的主配置文件是/etc/phpfpm.conf
,通常不需要修改,但需要调整池配置/etc/phpfpm.d/www.conf
:
[www] user = apache group = apache listen = /run/phpfpm/www.sock ; 其他配置根据需要调整
启动并启用 PHPFPM 服务:
sudo systemctl start phpfpm sudo systemctl enable phpfpm
4. 测试配置
创建一个简单的 PHP 测试文件/var/www/html/test.php
:
<?php phpinfo(); ?>
在浏览器中访问http://your_server_ip/test.php
,如果看到 PHP 信息页面,则表示配置成功。
二、常见问题及解决
1. PHPFPM 无法启动
问题描述:PHPFPM 服务无法启动,日志中显示错误。
解决方案:检查 PHPFPM 配置文件是否正确,特别是用户和组的设置,确保/run/phpfpm/www.sock
文件存在且权限正确。
sudo systemctl status phpfpm sudo journalctl xe
查看日志输出,根据错误提示进行调整。
2. Apache 无法连接到 PHPFPM
问题描述:访问 PHP 文件时,Apache 返回 500 内部服务器错误。
解决方案:确认 Apache 配置文件中的SetHandler
指令指向正确的 PHPFPM Unix 套接字,检查 PHPFPM 是否正在运行。
sudo systemctl status phpfpm
确保服务处于活动状态(active)。
三、相关FAQs
Q1: 如何在 CentOS 上更改 PHPFPM 的监听地址?
A1: 编辑/etc/phpfpm.d/www.conf
文件,找到listen
指令并更改其值为所需的 IP 地址或端口,将其改为listen = 127.0.0.1:9000
,然后重启 PHPFPM 服务:
sudo systemctl restart phpfpm
Q2: 如何更改 PHPFPM 使用的 Unix 套接字权限?
A2: 编辑/etc/phpfpm.d/www.conf
文件,找到listen.owner
、listen.group
和listen.mode
设置项,根据需要调整权限。
listen.owner = nginx listen.group = nginx listen.mode = 0660
然后重启 PHPFPM 服务以应用更改:
sudo systemctl restart phpfpm