温馨提示×

Linux中php-fpm配置文件详解

小樊
39
2025-10-11 21:20:15
栏目: 编程语言

在Linux系统中,PHP-FPM(FastCGI Process Manager)是一个用于管理PHP进程的高性能、稳定的进程管理器。它通常与Nginx或Apache等Web服务器一起使用,以提高PHP应用程序的性能。PHP-FPM的配置文件通常位于/etc/php/{php_version}/fpm/pool.d/www.conf,其中{php_version}是您安装的PHP版本。

以下是www.conf文件中一些重要配置项的详解:

  1. listen:此指令定义了PHP-FPM监听的地址和端口。它可以是Unix套接字(例如:/run/php/php7.4-fpm.sock)或TCP/IP地址(例如:127.0.0.1:9000)。使用Unix套接字通常比TCP/IP地址更快,因为它们避免了额外的网络开销。

  2. listen.ownerlisten.group:这两个指令定义了监听套接字的属主和属组。通常,它们分别设置为www-dataapache,这取决于您的Web服务器配置。

  3. usergroup:这两个指令定义了PHP-FPM进程的属主和属组。它们通常也设置为www-dataapache

  4. pm:此指令定义了PHP-FPM使用的进程管理器。可选值有staticdynamicondemandstatic表示固定数量的子进程;dynamic表示根据负载动态调整子进程数量;ondemand表示按需启动子进程。

  5. pm.max_children:当pm设置为staticdynamicondemand时,此指令定义了允许的最大子进程数量。

  6. pm.start_servers:当pm设置为dynamic时,此指令定义了启动时的子进程数量。

  7. pm.min_spare_serverspm.max_spare_servers:当pm设置为dynamic时,这两个指令定义了空闲子进程的最小和最大数量。

  8. pm.max_requests:此指令定义了一个子进程在被终止之前可以处理的请求数量。这有助于防止内存泄漏。

  9. request_terminate_timeout:此指令定义了脚本执行的最大时间(以秒为单位)。超过此时间的脚本将被终止。

  10. slowlog:此指令定义了慢查询日志文件的路径。慢查询是指执行时间超过request_terminate_timeout的脚本。

  11. catch_workers_output:当设置为yes时,此指令会将子进程的输出捕获到慢查询日志中。

这些只是www.conf文件中的一部分配置项。您可以根据您的需求和系统资源进行调整。在修改配置文件后,请确保重启PHP-FPM服务以使更改生效。

0