2.1、物理层面

3、配置文件指令解释

3.1、php-fpm.conf

pid string

linuxphpfpm配置文件6phpfpm设置装备摆设文件解释 SQL

PID 文件的位置。
默认为空。

error_log string

缺点日志的位置。
默认:#INSTALL_PREFIX#/log/php-fpm.log。
如果设置为 “syslog”,日志将不会写入本地文件,而是发送到 syslogd。

log_level string

缺点级别。
可用级别为:alert(必须立即处理),error(缺点情形),warning(警告情形),notice(一样平常主要信息),debug(调试信息)。
默认:notice。

syslog.facility string

设置何种程序记录,默认值:daemon。

syslog.ident string

为每条信息添加前缀。
如果在同一台做事器上运行了多个 FPM 实例,可以修正此默认值来知足需求。
默认值:php-fpm。

emergency_restart_threshold int

如果子进程在 emergency_restart_interval 设定的韶光内收到该参数设定次数的 SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动。
0 表示“关闭该功能”。
默认值:0(关闭)。

emergency_restart_interval mixed

emergency_restart_interval 用于设定平滑重启的间隔韶光。
这么做有助于办理加速器中共享内存的利用问题。
可用单位:s(秒),m(分),h(小时)或者 d(天)。
默认单位:s(秒)。
默认值:0(关闭)。

process_control_timeout mixed

设置子进程接管主进程复用旗子暗记的超时时间。
可用单位:s(秒),m(分),h(小时)或者 d(天)。
默认单位:s(秒)。
默认值:0(关闭)。

process.max int

Fork 的最大 FPM 进程数。
利用动态管理进程数时,此设计可以掌握在一个进程池内的全局进程数量。
利用需谨慎。
默认值:0。

process.priority int

设置 master 进程的 nice(2) 优先级(如果设置了此值)。
可以是 -19(最高优先级)到 20 (更低优先级)。
默认值:不设置。

daemonize boolean

设置 FPM 在后台运行。
设置“no”将 FPM 保持在前台运行用于调试。
默认值:yes。

rlimit_files int

设置 master 进程的打开文件描述符 rlimit 数。

rlimit_core int

设置 master 进程最大 core 的 rlimit 尺寸。
默认值:0。

events.mechanism string

设置 FPM 利用的事宜机制。
可用以下选项:select、pool、epoll、kqueue (BSD)、port (Solaris)。
默认值:不设置(自动检测)

systemd_interval int

利用 systemd 集成的 FPM 时,设置间歇秒数,报告健在关照给 systemd。
设置为 0 表示禁用。
默认值:10。

3.2、进程池配置文件

在fpm中,可以利用不同的设置来运行多个进程池。
这些设置可以针对每个进程池单独设置。

listen string

设置接管 FastCGI 要求的地址。
可用格式为:’ip:port’,’port’,’/path/to/unix/socket’。
每个进程池都须要设置。

listen.backlog int

设置 listen(2) 的 backlog 最大值。
“-1”表示无限制。
默认值:-1。

listen.allowed_clients string

设置许可连接到 FastCGI 的做事器 IPV4 地址。
等同于 PHP FastCGI (5.2.2+) 中的 FCGI_WEB_SERVER_ADDRS 环境变量。
仅对 TCP 监听起浸染。
每个地址是用逗号分隔,如果没有设置或者为空,则许可任何做事器要求连接。
默认值:any。
PHP 5.5.20 和 5.6.4起,开始支持 IPv6 地址。

listen.owner string

如果利用了 Unix 套接字,表示它的权限。
在 Linux 中必须设置读/写权限,以便用于 WEB 做事器连接。
在很多 BSD 派生的系统中可以忽略权限许可自由连接。
默认值:运行所利用的用户和组,权限为 0660。

listen.group string

拜会 listen.owner。

listen.mode string

拜会 listen.owner。

listen.acl_users string

当系统支持 POSIX ACL(Access Control Lists)时,可以设置利用此选项。
当设置了的时候,将会忽略 listen.owner 和 listen.group。
值是逗号分割的用户名列表。
PHP 5.6.5 起可用。

listen.acl_groups string

拜会 listen.acl_users。
值是逗号分割的用户组名称列表。
PHP 5.6.5 起可用。

user string

FPM 进程运行的Unix用户。
必须设置。

group string

FPM 进程运行的 Unix 用户组。
如果不设置,就利用默认用户的用户组。

pm string

设置进程管理器如何管理子进程。
可用值:static,ondemand,dynamic。
必须设置。

static – 子进程的数量是固定的(pm.max_children)。
ondemand – 进程在有需求时才产生(当要求时才启动。
与 dynamic 相反,在做事启动时 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 的 mpm_prefork 中 MaxClients 的设置和 普通PHP FastCGI中的 PHP_FCGI_CHILDREN 环境变量。

pm.start_servers in

设置启动时创建的子进程数目。
仅在 pm 设置为 dynamic 时利用。
默认值:min_spare_servers + (max_spare_servers – min_spare_servers) / 2。

pm.min_spare_servers int

设置空闲做事进程的最低数目。
仅在 pm 设置为 dynamic 时利用。
必须设置。

pm.max_spare_servers int

设置空闲做事进程的最大数目。
仅在 pm 设置为 dynamic 时利用。
必须设置。

pm.process_idle_timeout mixed

秒数,多久之后结束空闲进程。
仅当设置 pm 为 ondemand。
可用单位:s(秒),m(分),h(小时)或者 d(天)。
默认单位:10s。

pm.max_requests int

设置每个子进程重生之前做事的要求数。
对付可能存在内存泄露的第三方模块来说是非常有用的。
如果设置为 ‘0’ 则一贯接管要求,等同于 PHP_FCGI_MAX_REQUESTS 环境变量。
默认值:0。

pm.status_path string

FPM 状态页面的网址。
如果没有设置,则无法访问状态页面,默认值:无。

ping.path string

FPM 监控页面的 ping 网址。
如果没有设置,则无法访问 ping 页面。
该页面用于外部检测 FPM 是否存活并且可以相应要求。
请把稳必须以斜线开头(/)。

ping.response string

用于定义 ping 要求的返回相应。
返回为 HTTP 200 的 text/plain 格式文本。
默认值:pong。

process.priority int

设置 worker 的 nice(2)优先级(如果设置了的话)。
该值从 -19(最高优先级) 到 20(更低优先级)。
默认值:不设置

prefix string

检测路径时利用的前缀。

request_terminate_timeout mixed

设置单个要求的超时中止韶光。
该选项可能会对 php.ini 设置中的 ‘max_execution_time’ 由于某些分外缘故原由没有中止运行的脚本有用。
设置为 ‘0’ 表示 ‘Off’。
可用单位:s(秒),m(分),h(小时)或者 d(天)。
默认单位:s(秒)。
默认值:0(关闭)。

request_slowlog_timeout mixed

当一个要求该设置的超时时间后,就会将对应的 PHP 调用堆栈信息完全写入到慢日志中。
设置为 ‘0’ 表示 ‘Off’。
可用单位:s(秒),m(分),h(小时)或者 d(天)。
默认单位:s(秒)。
默认值:0(关闭)。

slowlog string

慢要求的记录日志。
默认值:#INSTALL_PREFIX#/log/php-fpm.log.slow。

rlimit_files int

设置文件打开描述符的 rlimit 限定。
默认值:系统定义值。

rlimit_core int

设置核心 rlimit 最大限定值。
可用值:’unlimited’,0 或者正整数。
默认值:系统定义值。

chroot string

启动时的 Chroot 目录。
所定义的目录须要是绝对路径。
如果没有设置,则 chroot 不被利用。

chdir string

设置启动目录,启动时会自动 Chdir 到该目录。
所定义的目录须要是绝对路径。
默认值:当前目录,或者根目录(chroot时)。

catch_workers_output boolean

重定向运行过程中的 stdout 和 stderr 到紧张的缺点日志文件中。
如果没有设置,stdout 和 stderr 将会根据 FastCGI 的规则被重定向到 /dev/null。
默认值:无。

clear_env boolean

为 FPM worker 进程打消环境变量。
在进程池配置文件里设置环境变量前,阻挡任意系统的环境变量进入 FPM worker 进程。
自 PHP 5.4.27、 5.5.11 和 5.6.0 起。
默认值: Yes

security.limit_extensions string

限定 FPM 许可解析的脚本扩展名。
此设置可以预防 web 做事器配置的缺点。
应该限定 FPM 仅仅解析 .php 扩展名,阻挡恶意用户利用其他扩展名运行 php 代码
默认值: .php .phar

access.log string

Access log 文件。
默认值:不设置

access.format string

access log 的格式。
默认值: “%R – %u %t \”%m %r\” %s”