加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php-fpm.conf配置文件中文说明详解及重要参数介绍

发布时间:2022-06-30 15:12:40 所属栏目:PHP教程 来源:互联网
导读:本文主要介绍了php-fpm.conf配置文件的中文说明详解以及php-fpm.conf重要参数配置说明,最后有一个监控php-fpm进程运行状态的页面代码实例。 php-fpm工作流程 php-fpm全名是PHP FastCGI进程管理器 php-fpm启动后会先读php.ini,然后再读相应的conf配置文件,c
  本文主要介绍了php-fpm.conf配置文件的中文说明详解以及php-fpm.conf重要参数配置说明,最后有一个监控php-fpm进程运行状态的页面代码实例。
 
  php-fpm工作流程
 
  php-fpm全名是PHP FastCGI进程管理器
 
  php-fpm启动后会先读php.ini,然后再读相应的conf配置文件,conf配置可以覆盖php.ini的配置。
 
 
  include=/opt/remi/php56/root/etc/php-fpm.d/*.conf 载入其他的配置文件。
 
  php-fpm全局配置参数中文说明:
 
  pid = /opt/remi/php56/root/var/run/php-fpm/php-fpm.pid
 
  #pid进程文件,默认为none。
 
  error_log = /opt/remi/php56/root/var/log/php-fpm/error.log
 
  #错误日志位置,默认:安装路径 #INSTALL_PREFIX#/log/php-fpm.log。如果设置为syslog,log就会发送给syslogd服务而不会写进文件里。
 
  syslog.facility = daemon
 
  #把日志写进系统log,linux还不够熟悉,暂时不用理会。
 
  syslog.ident = php-fpm
 
  #系统日志标示,如果跑了多个fpm进程,需要用这个来区分日志是谁的。
 
  log_level = notice
 
  #日志等级,默认notice,可选:alert, error, warning, notice, debug
 
 
  process.max = 128
 
  #当动态管理子进程时,fpm最多能fork多少个进程,0表示无限制,这是所有进程池能启动子进程的总和,谨慎使用。
 
  process.priority = -19
 
  #设置子进程的优先级,在master进程以root用户启动时有效;如果没有设置,子进程会继承master进程的优先级,值范围-19(最高)到20(最低),默认不设置。
 
  daemonize = yes
 
  #设置成no用于调试bug,默认为yes。
 
  rlimit_files = 1024
 
  #设置master进程最多能打开的文件,默认为系统的值。
 
  rlimit_core = 0
 
  #master进程核心rlimit限制值;可选unlimited或>=0的整数,默认为系统的值。
 
  events.mechanism = epoll
 
  #事件处理机制,默认自动检测,可选值:select,poll,epoll(linux>=2.5.44),kqueue,/dev/poll,port
 
  systemd_interval = 10s
 
  #当fpm被设置为系统服务时,多久向服务器报告一次状态,单位有s,m,h。
 
  php-fpm进程池配置 pool Definitions:
 
  在不同的监听端口和不同的管理选项下可以跑任意数量的池,并没有个数限制;
 
  池的名字用于 logs 和 stats。
 
  user = apache
 
  #一个池共用一个backlog队列,所有的池进程都去这个队列里accept连接。
 
  #最大数量受限于系统配置 cat /proc/sys/net/core/somaxconn,系统配置修改:vim /etc/sysctl.conf,增加 net.core.somaxconn = 2000 则最大为2000,然后php最大的backlog可以到2000。
 
  listen.owner = apache
 
  listen.group = apache
 
  listen.mode = 0660
 
  #用socket连接方式时,指定拥有unix socket权限的用户,默认和运行的用户一样;用tcp连接可以注释掉
 
  listen.allowed_clients = 127.0.0.1
 
  #设置允许连接fpm的地址,比如nginx就要来连,多个地址用逗号隔开,如果不配置,则默认任意地址都能来连。
 
  process.priority = -19
 
  #池进程的权限,同样要master进程是root用户才有效,和全局那个一样,不设置的话会继承master进程的优先级。
 
  pm = dynamic
 
  #启动时子进程管理方式,可选值:static(启动时创建指定个数), dynamic(启动时根据情况创建,至少有一个), ondemand(启动时不创建子进程,有需求才创建)
 
  pm.max_children = 5
 
 
  #子进程闲置10s后就会被杀掉。
 
  pm.max_requests = 500
 
  #每个子进程最大处理500请求就被回收,可防止内存泄露。
 
  pm.status_path string
 
  #FPM 状态页面的网址。如果没有设置,则无法访问状态页面,默认值:无。
 
  ping.path string
 
  #FPM 监控页面的 ping 网址。如果没有设置,则无法访问 ping 页面。该页面用于外部检测 FPM 是否存活并且可以响应请求。请注意必须以斜线开头(/)。
 
  ping.response string
 
  #用于定义 ping 请求的返回响应。返回为 HTTP 200 的 text/plain 格式文本。默认值:pong。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读