web服务器本身不能处理php,当接收到请求后,通过匹配后缀知道该请求是个动态的php请求,会把这个请求转给指定的php解释器处理,并把结果返回给客户端。

在php-cgi的年代,总是每一个请求过来后,都要创建一个进程,读取配置,初始化环境,返回数据,退出进程。

php-fpm启动后会创建一个主进程(master)并且监听指定端口,master进程会根据配置要求去创建若干子进程(worker),用于处理实际的业务,当一个请求来的时候,通过master传递给worker,这样只需要主进程(master)读取一次配置并初始化执行环境(先读php.ini,然后读取conf配置)

master进程的主要作用就是管理worker进程,负责fork或者kill掉子进程。在启动时根据配置文件会预先启动一定数量的worker。当请求比较多worker处理不过来时,master会fork新的worker进程处理。如果空闲的进程较多时,就会kill掉一些worker进程,避免占用浪费系统资源。

自从php5.3.3以后php-fpm就已经集成在php内核中了,编译安装时添加--enable-fpm参数编译php-fpm

winwows中的php-fpm:

php-fpm只有在类Linux系统中才有,在windows系统中只有php-cgi,可以通过一个开源软件php-cgi-spawner(项目地址:点击查看)模拟php-fpm的工作流程,该软件使用参数:

path/php-cgi-spawner.exe path/php-cgi.exe 9000 4[+16]

path/php-cgi.exe表示指定要worker的php-cgi程序,9000表示master监听的端口号,4表示永久运行4个worker(空闲时不会被kill掉,该值最大为64,可以为0,但建议至少为1),16表示当请求比较多处理不过来时最多可以自动启动16个worker,不提供表示不启动额外的worker。

可以指定配置文件:

"path/php-cgi-spawner.exe" "path/php-cgi.exe -c path/php.ini" 9001 4

最后编辑:2020-06-02作者:qingheluo

这个作者貌似有点懒,什么都没有留下。

php 进程管理,php中的php-fpm进程管理相关推荐

  1. 操作系统核心原理-5.内存管理(中):分页内存管理

    在上一篇介绍的几种多道编程的内存管理模式中,以交换内存管理最为灵活和先进.但是这种策略也存在很多重大问题,而其中最重要的两个问题就是空间浪费和程序大小受限.那么有什么办法可以解决交换内存存在的这些问题 ...

  2. 解决管理工具中没有Internet 信息服务(IIS)管理器

    控制面板下的系统和安全下的管理工具中没有Internet 信息服务(IIS)管理器,      按路径"c:\windows\system32\inetsrv"确认是否有iis.m ...

  3. ERP管理软件中“集成”的七个管理思想[转]

    经过了十五.六年的发展,ERP被大家都公认是一套附带管理思想和手段的软件,其中蕴含着丰富的管理思想.那么到底其中的管理思想在什么地方?相信这个答案不少人对这个问题都是雾里看花--看似明白又难以说清楚. ...

  4. linux命令中强杀进程,Linux 系统中kill命令杀死进程常用技巧

    目录 前言 基础 进阶 1 查找进程号的方式进行改进 2 将常规的两步杀死进程合并为一步 3 强制踢掉登陆用户 kill的注意事项 前言 在Linux的系统中,kill是我们最常见的命令之一. kil ...

  5. linux中的权限管理,Linux中的用户和权限管理

    Linux是多用户,多任务操作系统:多用户是指多个用户可以同时使用系统资源,而多任务指同时运行多个进程. 用户是能够获取系统资源的权限的集合,Linux通过用户实现资源分隔. 用户组是具有相同特征用户 ...

  6. java多数据源事务管理_Spring中实现多数据源事务管理 - CSDN博客

    前言 由于项目中引入了多个数据源,并且需要对多个数据源进行写操作,那么多数据源的事务管理自然成了不可避免的问题,这也让我对 @Transactional注解有了进一步的理解(但实际上也并不是非常深入) ...

  7. 解决管理工具中没有Internet 信息服务(IIS)管理器(1)

  8. smss.exe是什么进程?详解Windows会话管理器中的smss.exe

    smss.exe是什么进程?详解Windows会话管理器中的smss.exe 进程综述 smss.exe是什么进程?详解Windows会话管理器中的smss.exe-冯金伟博客园smss.exe是什么 ...

  9. Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)

    日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.6 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度 ...

  10. Linux的进程/线程/协程系列4:进程知识深入总结:上篇

    Linux的进程/线程/协程系列4:进程/线程相关知识总结 前言 本篇摘要: 1. 进程基础知识 1.1 串行/并行与并发 1.2 临界资源与共享资源 1.3 同步/异步与互斥 1.4 进程控制原语 ...

最新文章

  1. 使用appium做自动化测试时,send_keyss只能输入字母数字,无法输入中文
  2. slf4j 和 log4j合用的(Maven)配置
  3. 【图解】最流行的7个JavaScript 框架各自的优点
  4. Linux开发环境搭建之Java开发环境JDK安装配置
  5. tensorflow 导入新的tensorflow实例
  6. linux开发板加快开机速度,readahead加速Linux开机速度
  7. 【大数据算法】蓄水池抽样算法
  8. 攻击防护手段_如何防护ddos流量攻击?
  9. Dotnet core使用JWT认证授权最佳实践(一)
  10. centos radius mysql_FreeRadius2 MySQL配置
  11. MATLAB 在图像处理和机器视觉的应用举例01 - 官网培训视频笔记(上)-- 图像分割和图像配准
  12. javascript从url中获取请求参数
  13. pcl求平面法向量_PCL1.8.1 点的法向量
  14. 机场精细化管理_全国首家!西安咸阳国际机场通过民航局安全管理体系专项审核...
  15. 无core文件根据系统日志查找 程序core信息
  16. XXXX软件项目系统测试报告
  17. linux sync 同步文件夹,linux-日常运维-文件同步工具-rsync
  18. 2015年至2017年的国产电影圈的数据分析
  19. ECMAScript 是什么?
  20. java项目设计与思路

热门文章

  1. 「九霄龙吟」强龙启动打首板,选股公式指标公式,限时分享 高胜率
  2. 小米官宣造车!投资百亿美元,雷军哽咽,压上全部声誉!
  3. 通过修改注册表优化win7性能
  4. 开源的电子书阅读器项目
  5. Mybatis中XML的文件SQL语句与动态sql标签(trim|where|set|foreach|if|choose|when|otherwise|bind)
  6. azure kinect总结
  7. 风车360度旋转特效css3
  8. 创业?你,准备好了吗?
  9. jQuery取得列表控件选中的option对象
  10. 大气商务公司新年计划精美PPT模板共享