php-fpm配置文件
pid pid文件路径
error_log 错误日志路径
slowlog 慢查询日志路径
request_slowlog_timeout=0 慢查询超时时间,0秒为关闭
request_terminate_timeout = 120 设置单个请求的超时中止时间。该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行的脚本有用,空为关闭。当经常出现502错误时可以尝试更改此选项。如果某脚本本身执行时间长,此配置超时后会直接kill子进程,可能导致正在写入数据不完整,但不做的话如果黑客做攻击,可能把fpm耗死,要有取舍,ngx超时+fpm后台时间加长超时,或代码中做超时
需要结合nginx.conf中的max_fail(调大些)和fail_timeout(调小些)一同配置
fastcgi_connect_timeout 小
fastcgi_read_timeout 大
fastcgi_send_timeout 大
log_level = 日志记录级别,默认: notice
alert(必须立即处理)
error(错误情况)
warning(警告情况)
notice(一般重要信息)
debug(调试信息)
syslog.facility = daemon 日志写入系统日志
syslog.ident = php-fpm 写入系统日志时的标识符
listen = fpm访问方式
[ip:]端口 端口方式
php-cgi.sock 套接字方式
listen.backlog = -1 连接队列,默认-1无限制
listen.allowed_clients = 127.0.0.1 运行访问的客户端,any为所有
listen.owner = www 套接字方式时生效,指定套接字属主
listen.group = www 套接字方式时生效,指定套接字属组
listen.mode = 0666 套接字方式时生效,指定套接权限
user = www 启动用户
group = www 启动组
prefix fpm安装目录
pm fpm工作模式
static 专用服务器可配置,由pm.max_children指定固定的子线程数
dynamic 动态模式,由下面参数控制
pm.max_children = 130 #最大开启子线程
pm.start_servers = 50 #当前启动线程数
pm.min_spare_servers = 40 #最小空闲线程,少于次会自动创建
pm.max_spare_servers = 130 #最大空闲线程,大于次会自动清理
pm.max_requests = 2048 设置每个子进程重生之前服务的请求数。对于可能存在内存泄漏的第三方模块来说是非常有用的。如果设置为 '' 则一直接受请求. 等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值空
pm.process_idle_timeout = 10s 子进程空闲等待超时时间
pm.status_path = /php-fpm_status FPM状态页面的网址,默认none
process.max = 128 动态模式时,fpm最多fork进程数,0为无限制
ping.path = /ping FPM监控页面的ping网址。如果没有设置,则无法访问ping页面。该页面用于外部检测FPM是否存活并且可以响应请求.必须以斜线开头
ping.response = pong 用于定义ping请求的返回相应。返回为HTTP的text/plain格式文本。默认pong
rlimit_files = 51200 设置文件打开描述符的rlimit限制
rlimit_core = 0 设置核心rlimit最大限制值。可用值:'unlimited'、0或者正整数
chroot 启动时的Chroot目录. 所定义的目录需要是绝对路径
chdir 设置启动目录,启动时会自动Chdir到该目录
catch_workers_output = yes 重定向运行过程中的stdout和stderr到主要的错误日志文件中. 如果没有设置, stdout 和 stderr 将会根据FastCGI的规则被重定向到 /dev/null . 默认值: 空
emergency_restart_threshold = 30 重启信号阀值
emergency_restart_interval = 60s 如果在此参数设置的时间内,出现SIGSEGV或SIGBUS信号的的子进程数超过emergency_restart_threshold参数设置的值,那么fpm就发送USR2信号平滑重启,0为关闭
process_control_timeout = 5s 设置子进程接受主进程复用信号的超时时间
daemonize = yes 守护进程运行
events.mechanism = 事件驱动选择,默认自动检测
select
poll
epoll
kqueue
/dev/poll
port
systemd_interval = 10s 被设置为系统服务时,多久像systemd报告一次状态
env[PATH] = /usr/local/bin:/usr/bin:/bin 环境变量配置
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp