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

首页 编程分享 PHP丨JAVA丨OTHER 正文

php中文网课程 转载 编程分享 2022-10-11 23:11:02

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


首先我们来讲 CGI

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

  • php 解释是实现了这个协议的 cgi 程序,nginx 将这些内容交给 php 解释器后,读取 php.ini 等初始化环境,然后处理数据,最终转换成符合这个协议的数据流交给 nginx, 最终返回给浏览器【推荐:】

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 时就能解决这些问题

此时的流程图如下

以上就是cgi、fast-cgi、php-fpm的关系(附流程图)的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除

  • 相关标签:
  • 程序员必备接口测试调试工具:

    转载链接:http://www.php.cn//php-weizijiaocheng-496352.html


    Tags:


    本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


      声明:参照站内规则,不文明言论将会删除,谢谢合作。


        最新评论




    ABOUT ME

    Blogger:袅袅牧童 | Arkin

    Ido:PHP攻城狮

    WeChat:nnmutong

    Email:nnmutong@icloud.com

    标签云