本篇文章给大家带来的内容是关于php-fpm运行原理和模式的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

运行原理:

cgi初始化阶段:分别调用fcgi_init()和 sapi_startup()函数,注册进程信号以及初始化sapi_globals全局变量。

php环境初始化阶段:由cgi_sapi_module.startup 触发。实际调用php_cgi_startup函数,而php_cgi_startup内部又调用php_module_startup执行。 php_module_startup主要功能:a).加载和解析php配置;b).加载php模块并记入函数符号表(function_table);c).加载zend扩展 ; d).设置禁用函数和类库配置;e).注册回收内存方法;

php-fpm初始化阶段:执行fpm_init()函数。负责解析php-fpm.conf文件配置,获取进程相关参数(允许进程打开的最大文件数等),初始化进程池及事件模型等操作。

php-fpm运行阶段:执行fpm_run() 函数,运行后主进程发生阻塞。该阶段分为两部分:fork子进程 和 循环事件。fork子进程部分交由fpm_children_create_initial函数处理( 注:ondemand模式在fpm_pctl_on_socket_accept函数创建)。循环事件部分通过fpm_event_loop函数处理,其内部是一个死循环,负责事件的收集工作。

运行模式

php-fpm支持三种运行模式,分别为static、ondemand、dynamic,默认为dynamic 。

static: 静态模式,启动时分配固定的worker进程。

ondemand: 按需分配,当收到用户请求时fork worker进程。 ondemand: 按需分配,当收到用户请求时fork worker进程。

dynamic: 动态模式,启动时分配固定的进程。伴随着请求数增加,在设定的浮动范围调整worker进程

php fpm 三个模式_php-fpm运行原理和模式的简单介绍相关推荐

  1. 三、mysqld程序的运行原理及数据库结构

    mysqld程序的运行原理及数据库结构 三.mysqld程序的运行原理及数据库结构 数据库的逻辑结构 数据库的物理结构 1. 库的物理存储结构 2.表的物理存储结构 3 .表的段.区.页(16k)(了 ...

  2. 创建线程的三种方式、线程运行原理、常见方法、线程状态

    文章目录 1.创建线程的三种方式 1.1 继承Thread类并重写run方法 1.2 使用Runnable配合Thread 1.3 通过Callable和FutureTask创建线程 2.Runnab ...

  3. jsp是什么以及jsp运行原理

    jsp是什么以及jsp运行原理 一.JSP的简单介绍 1. JSP(Java Server Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.JSP ...

  4. 论GTA线上科技的使用原理及GTA线上模式P2P运行原理

    在正确使用科技之前首先要了解一下游戏科技的原理以及GTA线上模式p2p网络运行原理 关于p2p我建议用心去看一下,了解之后对于你之后上手2t或者玩别的gta科技有很大的帮助如果看不懂可以看我下面说的话 ...

  5. python socket读取数据不能解析_通过实例解析return运行原理,除了quot;生孩子quot;python真是无所不能啊...

    文章内容主要介绍了通过实例解析Python return运行原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下!!! return 语句就是讲结果返 ...

  6. mybatis传递多个参数_深入浅出MyBatis:MyBatis解析和运行原理

    原文:https://juejin.im/post/5abcbd946fb9a028d1412efc 本篇文章是「深入浅出MyBatis:技术原理与实践」书籍的总结笔记. 上一篇介绍了反射和动态代理基 ...

  7. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第21讲:PHP运行原理及编程规范

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第21讲:PHP运行原理及编程规范 什么是Web站点,在网站建设中,必须明白apache和PHP在网络中的位置,书写和调试简单的PHP代码.本节对PHP运行原 ...

  8. 本地提交spark_spark快速入门(三)-------spark部署及运行模式

    spark支持多种部署方案,包括spark自带的standalone资源调度模式(StandAlone):运行在hadoop的yarn资源调度框架中(SparkOnYARN):local本地模式:可以 ...

  9. 如何在CentOS 7 / RHEL 7 运行单用户模式进行root的密码重置

    如何在CentOS 7 / RHEL 7 运行单用户模式进行root的密码重置 ...  [复制链接] 发表于 2014-9-16 18:50 | 来自  51CTO网页 [只看他] 楼主 步骤一,开 ...

最新文章

  1. android自定义水波纹,Android自定义View——实现水波纹效果类似剩余流量球(示例代码)...
  2. python收取wss数据_Python金融应用之提取交易日+合并截面数据
  3. Android横竖屏切换继续播放视频
  4. 百练OJ:1835:宇航员
  5. 13-19 Python Number、Python字符串、Python列表(List)、集合的基本操作、元组、字典Dicttionnary、日期和时间
  6. 超越95%面试者的秘籍 part 1
  7. 【送书活动】10分钟了解Docker,运维和开发视角有什么不同?
  8. 洛谷P1912:诗人小G(二分栈、决策单调性)
  9. Spring Boot自动化配置的利弊及解决之道
  10. [渝粤教育] 天水师范学院 matlab电子仿真与应用 参考 资料
  11. STM32矩阵键盘的实现原理
  12. 使用ZUNE从marketplace安装wp7 app的方法
  13. 5000预算组装台式机配置清单
  14. 高斯消元法求矩阵的逆
  15. python使用selenium爬取dell官网驱动(一):获取遍历各驱动的下载网址
  16. Gartner:数字伦理登上Gartner 2021年隐私技术成熟度曲线期望膨胀期顶点
  17. STM32通过IIC读取MPU6050原始数据过程详解
  18. 鼠标放在可以点击的文字上,变成小手样式
  19. 计算机网络体系结构 - 应用层
  20. Lantek.v27-ISO 1DVD(钣金专家)

热门文章

  1. android开发菜单,Android学习指南之十六:Android菜单详解
  2. ubuntu cmake交叉编译时报错:没有那个文件或目录
  3. relocation R_X86_64_32S against `.data‘ can not be used when making a PIE object; recompile with -fP
  4. Divine Array 思维,模拟,结论
  5. Elasticsearch script使用详解
  6. windows下客户端连接上马上会断开连接_浅尝Java NIO与Tomcat简单连接调优
  7. 什么是php数组,php 数组写法是什么
  8. 参数等效模型可以用于_盘式永磁涡流驱动器的电磁温度耦合解析模型
  9. win101909要不要更新_win10更新好还是不更新_win10更新有什么用
  10. bat射击游戏代码_这张图打开就是3D射击游戏,我是服气的