温馨提示×

Linux php-fpm配置文件在哪修改

小樊
44
2026-01-04 20:18:34
栏目: 编程语言

Linux 下 PHP-FPM 配置文件位置与修改步骤

一、常见配置文件路径

  • 下表按系统与安装方式列出常用路径,其中 {version} 为你的 PHP 版本号(如 8.17.4):
系统与安装方式 主配置文件 进程池配置目录/文件 备注
Debian/Ubuntu(apt) /etc/php/{version}/fpm/php-fpm.conf /etc/php/{version}/fpm/pool.d/www.conf 多版本并存时按版本号区分
CentOS/RHEL(yum/dnf) /etc/php-fpm.conf /etc/php-fpm.d/*.conf(常见为 www.conf 老版本可能为 /etc/php-fpm.d/www.conf
源码/编译安装 /usr/local/php-fpm/etc/php-fpm.conf /usr/local/php-fpm/etc/php-fpm.d/*.conf 路径随编译参数变化
Docker 官方 PHP 镜像 /usr/local/etc/php-fpm.conf /usr/local/etc/php-fpm.d/*.conf 进入容器后查看与编辑

以上路径在不同发行版与安装方式下略有差异,请以实际环境为准。

二、如何快速确认你的实际路径

  • 查看 FPM 主配置与包含的池配置(会打印出实际加载的配置文件路径):
    • 命令:php-fpm -t
  • 查看 CLI 与 FPM 分别加载的 php.ini(区分运行模式):
    • 命令:php --ini
  • 在容器内定位(Docker 场景):
    • 命令:docker exec -it <容器名> bash,然后执行上面的 php-fpm -tphp --ini
  • 若使用 systemd,也可通过服务文件确认 ExecStart 指向的配置文件(辅助手段)。

三、需要修改哪些文件

  • 调整进程与性能参数(如并发、空闲进程、最大请求数):编辑对应池配置 pool.d/www.conf(或自定义 pool),常见指令:pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers、pm.max_requests
  • 调整监听方式(Unix 套接字或 TCP 端口)与权限:编辑 www.conf 中的 listen,以及 listen.owner / listen.group / user / group;常见示例:
    • Unix 套接字:listen = /run/php/php{version}-fpm.sock
    • TCP 端口:listen = 127.0.0.1:9000
  • 注意区分 CLI 与 FPM 的 php.ini:Web 请求由 FPM 使用 /etc/php/{version}/fpm/php.ini(或编译安装的相应路径),命令行使用 /etc/php/{version}/cli/php.ini;两者互不影响。
  • 修改完成后先语法检查再重载:php-fpm -t && systemctl reload php{version}-fpm(或 systemctl reload php-fpm)。

四、与 Web 服务器对接的关键项

  • Nginx 常见示例(与 www.conf 中的 listen 保持一致):
    • fastcgi_pass unix:/run/php/php{version}-fpm.sock;fastcgi_pass 127.0.0.1:9000;
    • 并确保 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 正确设置。
  • Apache 可使用 mod_proxy_fcgi,例如:SetHandler “proxy:fcgi://127.0.0.1:9000”

0