cgi、fast-cgi、php-fpm的关系(附流程图)
时间:2022-10-09 来源:互联网
php入门到就业线上直播课:进入学习
API 文档、设计、调试、自动化测试一体化协作工具:点击使用
首先我们来讲 CGI
cgi 是一个协议,跟进程无关,比如说 web server (nginx) 接收到一个 php 的网络请求,此时 nginx 需要根据配置文件,去找 php 的解析器,经过简单处理,将请求的一些信息交给 php 解析器,此时就规定了要传那些协议,还有以什么样的格式传输,这个标准就叫做 cgi 协议
php 解释是实现了这个协议的 cgi 程序,nginx 将这些内容交给 php 解释器后,读取 php.ini 等初始化环境,然后处理数据,最终转换成符合这个协议的数据流交给 nginx, 最终返回给浏览器【推荐:PHP视频教程】
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 时就能解决这些问题
此时的流程图如下
-
创世战车解析器数据介绍 2024-12-03
-
VARCHAR最大长度存多少字符 VARCHAR(50)中50代表的含义 2024-12-03
-
密室逃脱古堡迷城2被遗弃的新娘攻略 2024-12-03
-
蛋仔派对龙源之域攻略 2024-12-03
-
varchar是什么数据类型 varchar和char有什么区别 2024-12-03
-
牧野之歌生死恋情离别需要材料介绍 2024-12-03