商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何配置CentOS PHP-FPM

如何配置CentOS PHP-FPM

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

配置CentOS上的PHP-FPM(FastCGI Process Manager)?整个过程其实并不复杂,几个核心步骤就能搞定,这里把关键点逐一拆开说清楚。

如何配置CentOS PHP-FPM

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

几个关键参数值得花时间调一调:

  • usergroup:运行PHP-FPM的用户和组,通常和Web服务器保持一致,比如apachenginx
  • listen:监听地址。你可以选Unix socket(比如/run/php-fpm/www.sock)或者TCP端口(比如127.0.0.1:9000)。Socket方式性能更好,但需要处理好权限。
  • listen.ownerlisten.group:Socket文件的所有者和组,确保Web服务器能读写。
  • pm:进程管理模式,dynamic最常用——按需动态调整子进程数;static则固定数量;ondemand只在请求到来时才启动。
  • pm.max_childrenpm.start_serverspm.min_spare_serverspm.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.conflisten保持一致。如果你配置的是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配置就算走通了。

本文转载于:https://www.yisu.com/ask/14125050.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注