-
listen
字符串
-
接受FastCGI请求的地址。有效的语法是:'ip.add.re.ss:port'、'port'、'/path/to/unix/socket'。此选项对于每个池都是必需的。
-
listen.backlog
整数
-
设置listen(2) backlog。值为-1
表示BSD系统上的最大值。默认值:-1
(FreeBSD或OpenBSD)或511
(Linux和其他平台)。
-
listen.allowed_clients
字符串
-
允许连接的FastCGI客户端的IPv4或IPv6地址列表。相当于原始PHP FastCGI(5.2.2+)中的FCGI_WEB_SERVER_ADDRS环境变量。仅对tcp监听套接字有意义。每个地址必须用逗号分隔。如果此值留空,则将接受来自任何IP地址的连接。默认值:未设置(接受任何IP地址)。
-
listen.owner
字符串
-
设置unix套接字的权限(如果使用)。在Linux中,必须设置读/写权限才能允许来自Web服务器的连接。许多BSD派生系统允许连接,而不管权限如何。默认值:用户和组设置为运行用户,模式设置为0660。
-
listen.group
字符串
-
参见listen.owner
。
-
listen.mode
字符串
-
参见listen.owner
。
-
listen.acl_users
字符串
-
当支持POSIX访问控制列表时,您可以使用此选项设置它们。设置后,将忽略listen.owner
和listen.group
。值为用逗号分隔的用户名称列表。
-
listen.acl_groups
字符串
-
参见listen.acl_users
。值为用逗号分隔的组名称列表。
-
user
字符串
-
FPM进程的Unix用户。此选项是必需的。
-
group
字符串
-
FPM进程的Unix组。如果未设置,则使用默认用户的组。
-
pm
字符串
-
选择进程管理器如何控制子进程的数量。可能的值:static
、ondemand
、dynamic
。此选项是必需的。
static
- 子进程的数量是固定的(pm.max_children
)。
ondemand
- 进程按需生成(当请求时,与动态相反,在服务启动时启动pm.start_servers
)。
dynamic
- 子进程数量根据以下指令动态设置:pm.max_children
, pm.start_servers
, pm.min_spare_servers
, pm.max_spare_servers
。
-
pm.max_children
int
-
当pm
设置为static
时创建的子进程数量,以及当pm
设置为dynamic
时创建的最大子进程数量。此选项为必选项。
此选项设置将要处理的并发请求数量的限制。等同于Apache的MaxClients指令(使用mpm_prefork)以及原始PHP FastCGI中的PHP_FCGI_CHILDREN环境变量。
-
pm.start_servers
int
-
启动时创建的子进程数量。仅当pm
设置为dynamic
时使用。默认值:(min_spare_servers + max_spare_servers) / 2。
-
pm.min_spare_servers
int
-
所需的空闲服务器进程的最小数量。仅当pm
设置为dynamic
时使用。在这种情况下也是必选项。
-
pm.max_spare_servers
int
-
所需的空闲服务器进程的最大数量。仅当pm
设置为dynamic
时使用。在这种情况下也是必选项。
-
pm.max_spawn_rate
int
-
一次生成子进程的速率。仅当pm
设置为dynamic
时使用。默认值:32
-
pm.process_idle_timeout
mixed
-
空闲进程被终止之前的秒数。仅当pm
设置为ondemand
时使用。可用单位:s(秒)(默认)、m(分钟)、h(小时)或d(天)。默认值:10s。
-
pm.max_requests
int
-
每个子进程在重新生成之前应该执行的请求数。这对于解决第三方库中的内存泄漏很有用。对于无限请求处理,指定“0”。等同于PHP_FCGI_MAX_REQUESTS。默认值:0。
-
pm.status_listen
string
-
接受FastCGI状态请求的地址。这将创建一个新的不可见的池,可以独立处理请求。如果主池忙于长时间运行的请求,这将很有用,因为它仍然可以在完成长时间运行的请求之前获取FPM状态页面。语法与listen指令相同。默认值:无。
-
pm.status_path
string
-
查看FPM状态页面的URI。此值必须以斜杠(/)开头。如果未设置此值,则不会将任何URI识别为状态页面。默认值:无。
-
ping.path
string
-
用于调用FPM监控页面的ping URI。如果未设置此值,则不会将任何URI识别为ping页面。这可以用于从外部测试FPM是否处于活动状态并正在响应。请注意,该值必须以斜杠(/)开头。
-
ping.response
string
-
此指令可用于自定义对ping请求的响应。响应格式为text/plain,响应代码为200。默认值:pong。
-
process.priority
整数
-
指定要应用于工作进程的nice(2)优先级(仅当设置时)。值可以从-19(最高优先级)到20(最低优先级)。默认值:未设置。
-
process.dumpable
bool
-
即使进程用户或组与主进程用户不同,也设置进程可转储标志(PR_SET_DUMPABLE prctl)。它允许为池用户创建进程核心转储并跟踪进程。默认值:否。自PHP 7.0.29、7.1.17和7.2.5起。
-
prefix
string
-
指定路径计算的前缀。
-
request_terminate_timeout
mixed
-
为处理单个请求设置的超时时间,超过此时间后工作进程将被终止。当'max_execution_time' ini选项由于某种原因无法停止脚本执行时,应使用此选项。“0”表示“关闭”。可用单位:s(秒)(默认)、m(分钟)、h(小时)或d(天)。默认值:0。
-
request_terminate_timeout_track_finished
bool
-
由request_terminate_timeout设置的超时时间在fastcgi_finish_request之后或应用程序完成并且正在调用内部关闭函数后不会生效。此指令将启用超时限制,即使在这种情况下也能无条件地应用。默认值:否。自PHP 7.3.0起。
-
request_slowlog_timeout
mixed
-
为处理单个请求设置的超时时间,超过此时间后PHP回溯将被转储到'slowlog'文件。 “0”表示“关闭”。可用单位:s(秒)(默认)、m(分钟)、h(小时)或d(天)。默认值:0。
-
request_slowlog_trace_depth
int
-
慢日志日志堆栈跟踪的深度。默认值:20。自PHP 7.2.0起。
-
slowlog
string
-
慢速请求的日志文件。默认值:#INSTALL_PREFIX#/log/php-fpm.log.slow
。
-
rlimit_files
整数
-
为该池中的子进程设置打开文件描述符rlimit。默认值:系统定义的值。
-
rlimit_core
整数
-
为该池中的子进程设置最大核心大小rlimit。可能的值:“unlimited”或大于等于0的整数。默认值:系统定义的值。
-
chroot
string
-
启动时chroot到此目录。此值必须定义为绝对路径。当未设置此值时,不使用chroot。
-
chdir
string
-
启动时chdir到此目录。此值必须是绝对路径。默认值:当前目录或chroot时的/。
-
catch_workers_output
bool
-
将工作进程的stdout和stderr重定向到主错误日志。如果未设置,则根据FastCGI规范将stdout和stderr重定向到/dev/null。默认值:否。
-
decorate_workers_output
bool
-
启用catch_workers_output启用时工作进程输出的输出修饰。默认值:是。自PHP 7.3.0起可用。
-
clear_env
bool
-
清除FPM工作进程中的环境变量。通过在添加此池配置中指定的env变量之前清除工作进程中的环境变量,防止任意环境变量到达FPM工作进程。默认值:是。
-
security.limit_extensions
string
-
限制FPM允许解析的主脚本的扩展名。这可以防止Web服务器端的配置错误。您应该只将FPM限制为.php扩展名,以防止恶意用户使用其他扩展名执行php代码。默认值:.php .phar
-
apparmor_hat
string
-
如果启用了AppArmor,则允许更改帽子。默认值:未设置
-
access.log
string
-
访问日志文件。默认值:未设置
-
access.format
string
-
访问日志格式。默认值:"%R - %u %t \"%m %r\" %s"