• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

cgi、fast-cgi、php-fpm的关系附流程图

武飞扬头像
PHP中文网
帮助32

首先我们来讲 CGI

  • cgi 是一个协议,跟进程无关,比如说 web server (nginx) 接收到一个 php 的网络请求,此时 nginx 需要根据配置文件,去找 php 的解析器,经过简单处理,将请求的一些信息交给 php 解析器,此时就规定了要传那些协议,还有以什么样的格式传输,这个标准就叫做 cgi 协议

  •  

fast-cgi 管理 cgi 程序

  • fast-cgi 是一个常驻进程的程序,与 cgi 为每个 web 请求建立一个进程不同的是,fast-cgi 在 web server 启动的时候会同时启动多个 cgi 程序,这样当进来动态页面请求的时候,就可以将数据流交由 fast-cgi 进程管理器,这样做的好处就是 web server 可以处理更多的请求,并且解析 php.ini 这些工作只进行一次,提高响应速度,

图示如下

学新通技术网

php-fpm 管理 cgi 程序

  • 首先 php-fpm 是将 fast-cgi 整合之后加入一些新功能的产物,由于 web server 提供的 fast-cgi 程序进行管理 php-cgi 时有着诸多的缺点,例如修改了 php.ini 的配置文件,必须要重启 web server 才能使其生效(php-cgi 不能平滑的启动,杀死 php-cgi 时 php 就不能正常的工作),当使用 php-fpm 时就能解决这些问题

此时的流程图如下

学新通技术网

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfeaff
系列文章
更多 icon
同类精品
更多 icon
继续加载