当前位置: 首页 > news >正文

php-fpm

摘要

php-fpm(fastcgi process manager)是PHP 的FastCGI管理器,管理PHP的FastCGI进程,提升PHP应用的性能和稳定性

php-fpm是一个高性能的php FastCGI管理器,提供了更好的php进程管理方式,可以有效的控制内存和进程,支持平滑重载php配置。PHP-FPM使用FastCGI协议与web服务器(例如:Nginx,Apache)进行通信,采用多进程模型进行处理PHP请求,管理worker进程的生命周期。
 当Web服务器接受到一个php请求时,会将该请求转发到php-fpm(可是使用网络地址(IP:端口)或者是一个Unix套接字(socket)文件),PHP-FPM会根据配置文件(php-fpm.conf)中的参数来创建,管理,回收php解释器进程(worker进程)----此过程为进程管理。并将请求法分配给这些worker进程来处理。

接收FastCGI请求的地址

php-fpm.conf配置文件的进程池配置段中设置 listen配置项

php-fpm进程管理

; 选择进程管理器将如何控制子进程的数量。
; 选项:
;   static  - 静态模式  a fixed number (pm.max_children) of child processes;
;             php-fpm进程启动时,会根据px.max_children数量的进程
;   dynamic - 动态模式
;             子进程(work)进程的数量是根据以下配置设置的,使用此进程管理,将始终至少有一个子进程
;             pm.max_children      - 最大子进程(work)数量
;             pm.start_servers     - php-fpm进程启动时,创建的进程数量
;             pm.min_spare_servers - 设置最小空闲子进程数。当空闲进程数少于这个值时,PHP-FPM会创建新的子进程。
;             pm.max_spare_servers - 设置最大空闲子进程数。当空闲进程数多于这个值时,PHP-FPM会销毁多余的子进程。
;             pm.max_children      - the maximum number of children that can
;                                    be alive at the same time.
;             pm.start_servers     - the number of children created on startup.
;             pm.min_spare_servers - the minimum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is less than this
;                                    number then some children will be created.
;             pm.max_spare_servers - the maximum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is greater than this
;                                    number then some children will be killed.
;  ondemand - 按需模式:php-fpm启动时不会创建任何worker进程,仅在有请求进来时创建.进程数受限于process.max和pm.max_children
;             当空闲worker进程超过pm.process_idle_timeout时间未处理请求,则会被销毁
;             pm.max_children           - the maximum number of children that
;                                         can be alive at the same time.
;             pm.process_idle_timeout   - The number of seconds after which
;                                         an idle process will be killed.
; Note: This value is mandatory.
; The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
; This value sets the limit on the number of simultaneous requests that will be
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
; CGI. The below defaults are based on a server without much resources. Don't
; forget to tweak pm.* to fit your needs.
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
; Note: This value is mandatory.
pm.max_children = 8

; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.start_servers = 20

; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 5

; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 35

; The number of seconds after which an idle process will be killed.
; Note: Used only when pm is set to 'ondemand'
; Default Value: 10s
;pm.process_idle_timeout = 10s;
 
;用于设置每个 PHP-FPM worker 进程在重启之前最大处理的请求数。具体来说,pm.max_requests 控制了每个 PHP-FPM worker 进程在处理了多少个请求后会被自动终止,并且 PHP-FPM 会启动一个新的 worker 进程来接替它继续处理请求。
; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
pm.max_requests = 10000

相关文章:

  • Cloud之快照存储(Cloud Snapshot Storage)
  • 基于MATLAB的均匀面阵MUSIC算法DOA估计仿真
  • 2025年——自学黑客计划(网络安全)
  • 细说Java 引用(强、软、弱、虚)和 GC 流程(一)
  • DeepSeek集群版一键部署
  • PyQt 界面编程:QDialog、QWidget、QMainWindow 的面向过程与面向对象编程
  • 在Vue项目中使用three.js在前端页面展示PLY文件或STL文件
  • Python爬虫TLS
  • 玩转SpringCloud Stream
  • 【从0做项目】Java搜索引擎(7) web模块
  • 在做题中学习(90):螺旋矩阵II
  • ArcEngine开发中,当点击窗体中的ButtoncClick时,程序需等待五六秒才反应过来,的解决方案。
  • 深入理解 SQL 事务隔离级别:脏读、不可重复读和幻读
  • 技术速递|Copilot Edits(预览版)介绍
  • 春风席卷法(单词分泌物):一天记20个忘10个任务之3
  • Deepseek搭建本地知识库
  • sql注入漏洞
  • 已解决IDEA无法输入中文问题(亲测有效)
  • Educational Codeforces Round 174 (Rated for Div. 2)(ABCD)
  • 容器网络(三)- calico网络IPIP模式
  • 大连手机自适应网站制作公司/seo链接优化
  • 网站建设方案可行性/苏州百度推广开户
  • 临沂网站建设厂家/营销计划怎么写
  • 网站在线客服插件代码/北京网络推广公司排行
  • 如何做转运网站/网络推广哪家好
  • linux网站架设怎么做/怎么制作网站平台