1. 安装PHP及PHP-FPM
首先更新系统包列表,然后安装PHP核心组件与PHP-FPM(FastCGI进程管理器)。若未启用EPEL仓库,需先安装epel-release:
sudo yum update -y
sudo yum install -y epel-release php php-fpm
2. 配置PHP-FPM核心参数
PHP-FPM的主配置文件通常位于/etc/php-fpm.d/www.conf(部分版本可能为/etc/php/{version}/fpm/pool.d/www.conf)。需修改以下关键参数:
apache或nginx),需与Web服务器用户一致:user = apache
group = apache
listen = /run/php-fpm/www.sock # Unix Socket路径
listen.owner = apache # Socket所属用户
listen.group = apache # Socket所属组
# 或使用TCP端口(如127.0.0.1:9000)
# listen = 127.0.0.1:9000
dynamic(动态调整进程数),并根据服务器资源设置进程池参数:pm = dynamic
pm.max_children = 50 # 最大子进程数(根据内存计算,如1GB内存约设20-30)
pm.start_servers = 5 # 启动时的进程数
pm.min_spare_servers = 2 # 最小空闲进程数
pm.max_spare_servers = 10 # 最大空闲进程数
3. 启动并启用PHP-FPM服务
配置完成后,启动PHP-FPM服务并设置开机自动启动:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
通过systemctl status php-fpm检查服务状态,确认无报错。
4. 配置Web服务器(以Nginx为例)
需让Web服务器将PHP请求转发给PHP-FPM处理。编辑Nginx站点配置文件(如/etc/nginx/conf.d/default.conf),添加以下内容:
server {
listen 80;
server_name yourdomain.com; # 替换为实际域名或IP
root /var/www/html; # 网站根目录
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
# 处理PHP请求
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock; # 与PHP-FPM的listen路径一致
# 或使用TCP端口:fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
修改后重载Nginx配置:
sudo systemctl reload nginx
5. 测试PHP-FPM功能
在网站根目录(如/var/www/html)创建info.php文件,内容如下:
<?php phpinfo(); ?>
通过浏览器访问http://yourdomain.com/info.php,若看到PHP信息页面(包含“PHP Version”“Server API”等),则说明PHP-FPM配置成功。
注意事项
sudo setsebool -P httpd_can_network_connect 1
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload