php-fpm.conf 重要参数详解

# pid 设置,默认在安装目录中的 var/run/php-fpm.pid,建议开启
pid = run/php-fpm.pid

# 错误日志,默认在安装目录中的 var/log/php-fpm.log
error_log = log/php-fpm.log

# 错误级别。
# 可用级别为:
# alert(必须立即处理)
# error(错误情况)
# warning(警告情况)
# notice(一般重要信息)
# debug(调试信息)
# 默认:notice
log_level = notice

# 表示在 emergency_restart_interval 所设值内出现 SIGSEGV 或者 SIGBUS 错误的 php-cgi 进程数如果超过  emergency_restart_threshold 个,php-fpm 就会优雅重启。
这两个选项一般保持默认值。
emergency_restart_threshold = 60
emergency_restart_interval = 60s

# 设置子进程接受主进程复用信号的超时时间。
# 可用单位:s(秒),m(分),h(小时),或者 d(天)
# 默认单位:s(秒)。
# 默认值:0。
process_control_timeout = 0

# 后台执行 fpm,默认为 yes,如果未来调试可以改为 no。
# 在 fpm 中,可以使用不同的设置来运行多个进程池。
# 这些设置可以针对每个进程池单独设置。
daemonize = yes

# fpm 监听端口,即 nginx 中 php 处理的地址,一般默认值即可。
# 可用格式为:`ip:port`,`port`,`/path/to/unic/socket`。
# 每个进程池都需要设置。
listen = 127.0.0.1:9000

# backlog 数,-1 表示无限制,由操作系统决定,此行注释掉就行。
# backlog 含义参考:http://www.3gyou.cc/?p=41
listen.backlog = -1

# 允许访问 FastCGI 进程的 IP,设置 any 为不限制 IP,如果要设置其他主机的 nginx 也能访问这台 FPM 进程, listen 要设置成本地可被访问的 IP。
# 默认值是 any。
# 每个地址是用逗号分隔,如果没有设置或者为空,则允许任何服务器请求连接
listen.allowed_clients = 127.0.0.1

# unix socket 设置选项,如果使用 tcp 方式访问,这里注释即可
listen.owner = www
listen.group = www
listen.mode = 0666

# 启动进程的账户和组
user = www
group = www

# 对于专用服务器,pm 可以设置为 static
# 如何控制子进程,选项有 static 和 dynamic。
pm = dynamic

# 如果选择 static,则由 pm.max_children 指定固定的子进程数。
# 如果选择 dynamic,则由以下参数决定:

# 子进程最大数量
pm.max_children
# 启动时的进程数
pm.start_servers
# 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.min_spare_servers
# 保证空闲进程数最大值,如果空闲进程大于此值,则进行清理
pm.max_spare_servers

# 设置每个子进程重生之前服务的请求数。
# 对于可能存在内存泄露的第三方模块来说是非常有用的。
# 如果设置为 0 则一直接受请求。
# 等同于 PHP_FCGI_MAX_REQUESTS 环境变量。
# 默认值:0。
pm.max_requests = 1000

# FPM 状态页面的网址。
# 如果没有设置,则无法访问状态页面。
# 默认值:none。
# munin 监控会使用到
pm.status_path = /status

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

# 用于定义 ping 请求的返回响应。
# 返回为 HTTP 200 的 text/plain 格式文本。
# 默认值:pong。
ping.response = pong

# 设置单个请求的超时终止时间。
# 该选项可能会对 php.ini 设置中的 max_execution_time 因为某些特殊原因没有终止运行的脚本游泳。
# 设置为 0 表示 off。
# 当经常出现 502 错误是可以尝试更改此选项。
request_terminate_timeout = 0

# 当一个请求该设置的超时时间后,就会将对应的 php 调用堆栈信息完整写入到慢日志中。
# 设置为 0 表示 off
request_slowlog_timeout = 10s

# 慢请求的记录日志,配合 request_slowlog_timeout 使用
slowlog = log/$pool.log.slow

# 设置文件打开描述符的 rlimit 限制。
# 默认值:系统定义默认可打开句柄是 1024。
# 可使用 ulimit -n 查看,ulimit -n 2048 修改。
rlimit_files = 1024

# 设置核心 rlmit 最大限制值。
# 可用值:unlimited、0 或者正整数。
# 默认值:系统定义值。
rlimit_code = 0

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

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

# 重定向运行过程中的 stdout 和 stderr 到主要的错误日志文件中。
# 如果没有设置,stdout 和 stderr 将会根据 FastCGI 的规则被重定向到 /dev/null 。
# 默认值:空。
catch_workers_output = yes

你可能感兴趣的:(#,PHP,运维,php)