phpfpm配置文件 (问:有关phpfpm的配置文件有哪些?)
PHP-FPM 是 PHP FastCGI 进程管理器的缩写,它是一个独立于 Web 服务器的进程管理器,负责管理运行 PHP 脚本的进程。PHP-FPM 通过配置文件控制 PHP 进程的启动、维护和结束,这个配置文件通常位于 /etc/php-fpm.conf 或 /etc/php/7.4/fpm/php-fpm.conf(以 PHP 版本为例)。
下面是一些常用的 PHP-FPM 配置文件选项说明:
-
listen:指定 PHP-FPM 监听的地址和端口号,格式为 ip:port 或者 path(例如,/var/run/php-fpm.sock )。默认情况下,它是未被注释的。
-
pm:定义 PHP-FPM 的进程管理方式,常用的有以下几种:
- static:每个进程数固定,由 pm.max_children 指定;
- dynamic:进程数不固定,由 pm.minspareservers,pm.maxspareservers,pm.start_servers 等参数指定;
- ondemand:需要时生成进程,由 pm.processidletimeout 等参数指定。
-
pm.max_children:当使用 static 进程管理方式时,指定 PHP-FPM 最多能生成的进程数。
-
pm.max_requests:当使用 dynamic 或 ondemand 进程管理方式时,指定每个进程处理的最大请求数。
-
pm.start_servers:当使用 dynamic 进程管理方式时,指定启动的进程数。
-
pm.minspareservers:当使用 dynamic 进程管理方式时,指定空闲进程数到达此值以下时,PHP-FPM 生成更多的进程。
-
pm.maxspareservers:当使用 dynamic 进程管理方式时,指定空闲进程数到达此值以上时,PHP-FPM 关闭多余的进程。
-
requestterminatetimeout:设置 PHP-FPM 最长等待请求超时的时间,单位为秒。
-
rlimit_files:指定每个进程可以打开的最大文件数。
-
catchworkersoutput:启用后,PHP-FPM 把错误输出和日志信息发送到 stderr 或指定的文件中,例如:
catchworkersoutput = yes
error_log = /var/log/php-fpm.log -
include:可以使用 include 关键字将一个或多个其他配置文件包含在主配置文件中,例如:
include=/etc/php/7.4/fpm/pool.d/*.conf
在这个示例中,/etc/php/7.4/fpm/pool.d 目录下的所有 .conf 文件都会被包含进来。
PHP-FPM 的配置文件中有很多选项可以用来控制 PHP 进程的生成和维护,这些选项可以根据需要进行自定义配置,以确保 PHP-FPM 能够高效地运行并满足网站的需求。