php-fpm

  作用:本身也是一个进程,主要是为了管理fastcgi进程池,控制进程数量, 监控进程运行状态。在这之前还有一个php-cgi, 虽然是官方的,但性能不咋地,最终被php-fpm替代了。这里简单说一下cgi,php会为外部应用提供很多种sapi(服务器应用程序编程接口),常见的给apache的mod_php5,给nginx的cgi,fastcgi,给IIS的ISAPI,还有Shell的CLI,已达到跟外部应用交互的目的,大概请求过程就是nginx->sapi->php。fastcgi是cgi的一个升级版本,cgi在每接收一个请求的时候都会创建一个进程,处理并返回结果之后会销毁这个进程,在大并发的情况下会频繁的重复创建、销毁动作,开销较大。而fastcgi在创建一个进程之后并不会关闭,在处理完一个请求之后处于闲置状态,等待下一个请求的接入。

  

  参数:其实如果把参数大概了解一下就能知道这个东西到底在做什么。编译php的时候加上php-fpm就可以了,执行文件还有配置文件也都在php下面

  1. error_log  = /usr/local/var/log/php-fpm.log 日志路径
  2. pid = /usr/local/var/run/php-fpm.pid pid文件位置,只要为了防止启动多个进程副本
  3. log_level = notice  错误级别
  4. process_control_timeout = 0  设置子进程接收复用信号的超时时间,再处理请求前php-fpm会发送复用信号给fastcgi,让fastcgi准备好接收请求并处理,如过超过了这个参数设定的时间fastcgi还有没给反馈,php-fpm会把任务派送给下一个fastcgi进程
  5. daemonize = yes  php-fpm后台运行  默认是yes  如果设置为no,启动的时候就一直挂在那,打印一些调试信息 
  6. listen = 127.0.0.0:9000 监听的端口
  7. listen.backlog = -1  缓存队列的最大长度,假如我们最大开启了两个进程来处理请求,同时并发四个请求的时候,剩下两个会被挂起来放在队列里,这个参数表示队列的最大长度,如果并发量足够大以至于超出这个长度会出现访问失败的情况 -1表示无限制
  8. listen.allowed_clients = 127.0.0.1 允许访问php-fpm的ip白名单,逗号分割。默认any表示无限制
  9. unix socket  和nginx的连接方式,这里主要有两种 nuix socket和tcp socket nuix直接读写socket文件,少了tcp开销,性能更好一些。但是缺少协议的支撑,在大并发下不稳定
  10. pm = dynamic 表示使用哪种方式对进程数量进行管理 (1)dynamic 动态管理进程数,当空闲进程数小于min_spare_servers 时会拉起新的进程,当空闲进程数大于max_spare_servers 时会释放多余进程;(static)静态的 就始终保持max_children 进程数
  11. pm.max_children = 300 开启的最大进程数
  12. pm.start_servers = 20 启动的时候拉起的进程数
  13. pm.min_spare_servers = 5 最小空闲进程数
  14. pm.max_spare_servers = 35 最大空闲进程数
  15. pm.max_requests = 500 每个进程处理请求数达到500时会重启,主要为了防止内存溢出 设置为0表示不会重启  频繁重启(开销较大,并且可能会导致无可用进程)和从不重启肯定都是不好的,还是要设定和合适的值
  16. status_path = /status 应该是和nginx里的那个类似,一个监控页面
  17. access_log = access.log  每条请求的日志
  18. access_format 日志格式
  19. slow = slow.log  慢日志 可以定位到哪个脚本,哪个函数执行效率慢
  20. reques_slowlog_timeout = 10 执行时间超过10s会记录慢日志
  21. request_terminate_timeout = 0  请求超时时间
  22. rlimit_files = 1024 限制打开的最大文件数

    补充:

  如果通过php-fpm访问php,php的参数max_execution_time会失效,php-fpm配置文件request_terminate_timeout 会起作用。

  待补充

  

    

 

转载于:https://www.cnblogs.com/wangjianheng/p/11505308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值