< 操作系统 Centos7,PHP版本7.2.7 >

已下所有配置涉及到时间单位均使用 => 秒(s) 分 (m) 时 (h) 天(d)

【 以下为全局配置 】

01,关于,进程文件,日志文件保存为位置,日志级别的配置

# 进程号记录文件保存地址,默认自带前缀 /path/var/

pid = run/php-fpm.pid   

# 错误日志保存地址,默认自带前缀 /path/var/

error_log = log/php-fpm.log 

# 日志记录的级别,总共七个级别分别是 alert error warning notice debug notice debug

log_level = notice 

 # 日志内容的前缀

syslog.ident = php-fpm           

02,连续发生错误时的重启配置,当第二个值的时间内 SIGSEGV 或者SIGBUS 错误出现大于第一个值,程序会重启

# 错误上限 

emergency_restart_threshold = 0

# 段时间,支持单位,秒(s) 分 (m) 时 (h) 天(d)   

emergency_restart_interval = 0        

03,关于进程的一些常规配置

 # 子进程响应时间,当子进程超过该时间没响应,会切换子进程

process_control_timeout = 5s       

 # 可以生成的进程最大数,会覆盖局部进配置中的 dynamic PM 的,谨慎使用 

process.max = 0     

04,进程的运行方式,即前后台

# yes 为后台运行, no 为前台运行

daemonize = yes   

        

【 以下为工作进程的具体配置 】

01,运行路径用户和用户组的配置

# 运行路径的配置,默认为 PHP 安装的路径,不建议配置,方便移植

prefix = /path/to/pools/$pool

# 运行的用户,生产环境下不建议使用 root,使用 root 启动时要加上 -R 参数

user = root

# 运行用户所在的组,非必须

group = root

02,关于 IP 和端口的监听

# 能被 FastCGI 请求访问的地址,如果要被外网访问,需要绑定公网IP

listen = 127.0.0.1:9000

# 监听队列的最大值

listen.backlog = 511 

# 允许连接的FastCGI客户端的地址列表

listen.allowed_clients = 127.0.0.1

03,关于工作进程数量的控制

# 启动哪一种模式,共三种  dynamic(动态),ondemand(按需),static(静态)

pm = dynamic   

# 当 pm 设置为 static 时要创建的子进程数量,当PM设置为“动态”或“按需”时子进程的最大数量

pm.max_children = 5

# 当 pm 设置为 dynamic 时初始化的进程数

pm.start_servers = 1

# 当 pm 设置为 dynamic 时允许的最小进程数

pm.min_spare_servers = 1

# 当 pm 设置为 dynamic 时允许的最大进程数,不能大于 pm.max_children

pm.max_spare_servers = 3

# 子进程空闲多久之后自动关闭,当 pm 设置为 ondemand 下有效

pm.process_idle_timeout = 100s

# 子进程在处理了多少请求之后重启,有助于防止内存泄露,0 不重启,这个值在条件允许下可以设置的大一点

pm.max_requests = 500

# 查看 FPM 运行状态,获取相关参数的路径

pm.status_path = /status.php 

04,服务运行是否正常的检测

# Web ping 指令模拟地址,常用来检测服务是否正常启动,正常返回 pong

ping.path = /ping.php

# 自定义 ping 请求的响应

ping.response = pong

05,日志相关配置(访问日志一般使用 nginx 的日志,不建议配置)

# 访问日志的保存路径,默认不配置

access.log = log/$pool.access.log

# 日志输出格式

access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"

06,请求响应慢速的日志相关配置

# 单个请求的超时时间,超过这个时间的请求会被记录到慢速日志

request_slowlog_timeout = 0

# 响应慢的请求日志保存地址,如果配置了 request_slowlog_timeout,必须配置

slowlog = log/$pool.log.slow

# 缓慢日志跟踪的堆栈跟踪深度

request_slowlog_trace_depth = 20

# 单个请求可执行的脚本的最大时间,和 php.ini 的 max_execution_time 共同决定脚本的最大执行时间

07,PHP环境的相关配置

# 清除 FPM 工作进程的环境,防止任意变量进入到辅助进程,为 no 可以使用任意变量

clear_env = yes

# 设置 PHP 解析脚本的后缀,防止恶意上传的文件解析执行,可以是多个,用空格隔开

security.limit_extensions = .php .php3 .php4 .php5 .php7

 

posted on 2018-07-17 23:03  被遗忘的优雅  阅读(1182)  评论(0编辑  收藏  举报