CGI + FastCGI(PHP-FPM)联系与区别 【图解 + 注释】
〇、背景
参考了几篇文章,总结成 图解 + 注释 方便以后查阅。
参考资料:
1、https://www.zhihu.com/question/19582041
2、https://segmentfault.com/q/1010000000256516
一、CGI
对一个 CGI 程序,做的工作其实只有:从环境变量(environment variables)和标准输入(standard input)中读取数据、处理数据、向标准输出(standard output)输出数据。
1、环境变量 中存储的叫 Request Meta-Variables,也就是诸如 QUERY_STRING、PATH_INFO 之类的东西,这些是由 Web Server 通过环境变量传递给 CGI 程序的,CGI 程序也是从环境变量中读取的。
2、标准输入 中存放的往往是用户通过 PUTS 或者 POST 提交的数据,这些数据也是由 Web Server 传过来的。
二、FastCGI(PHP-FPM)
fastcgi 是一个协议,php-fpm 实现了这个协议
1、php-fpm 是 php 内核的一个补丁?
以前是对的。因为最开始的时候 php-fpm 没有包含在PHP内核里面,要使用这个功能,需要找到与源码版本相同的 php-fpm 对内核打补丁,然后再编译。后来 PHP 内核集成了 PHP-FPM 之后就方便多了,使用 --enalbe-fpm 这个编译参数即可。
2、平滑重启?
修改 php.ini 之后,php-cgi 进程的确是没办法平滑重启的。php-fpm 对此的处理机制是新的 worker 用新的配置,已经存在的 worker 处理完手上的活就可以歇着了,通过这种机制来平滑过度。
转载于:https://www.cnblogs.com/xjnotxj/p/7511778.html
CGI + FastCGI(PHP-FPM)联系与区别 【图解 + 注释】相关推荐
- Nginx + CGI/FastCGI + C/Cpp
http://www.cnblogs.com/skynet/p/4173450.html Nginx + CGI/FastCGI + C/Cpp 2014-12-19 11:05 by 吴秦, 197 ...
- Nginx + CGI/FastCGI + C/Cpp(编不过去,不搞了。。。)(Common Gateway Interface)
Nginx + CGI/FastCGI + C/Cpp 文章目录 1.CGI 1.1.环境变量 1.2.标准输入 总结:CGI使外部程序与Web服务器之间交互成为可能.CGI程式运行在独立的进程中,并 ...
- PHP-CGI, FastCGI, PHP-FPM的关系和区别
Web server(apache, nginx) 接受到一个php请求后要解析php文件, 怎么解析呢, web server是C语言写的, 所以需要一个协议, 一个php解释器, 也就是CGI. ...
- 漫谈CGI FastCGI WSGI
作者:auxten 链接:https://zhuanlan.zhihu.com/p/20054757 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. CGI(Comm ...
- CGI,FastCGI,spawn-fcgi,nginx组合使用
目录 fastCGI 1. CGI 1.1 简介 1.2 CGI处理流程 1.3 环境变量 1.4 标准输入 1.5 CGI程序结构 1.6 测试 2. FastCGI 2.1 什么是FastCGI ...
- cpu二级缓存和一级缓存详解及区别(图解)
cpu二级缓存和一级缓存详解及区别(图解) 2012-09-02 12:27:55| 分类: 硬件技术 |字号 订阅 处理器缓存的传输速率确实很高,然而还不足以取代内存的地位,这主要是由于缓存只是内 ...
- jsp注释和html注释的区别,JSP注释和HTML注释的区别.doc
JSP注释和HTML注释的区别 JSP注释和HTML注释的区别: HTML注释是可以发送到客户端且在客户端可见的注释:JSP注释只存在于服务器端在客户端不可见的注释.JSP引擎对HTML注释不做任何解 ...
- php cgi fastcgi php-fpm区别
CGI 的作用 CGI 是为了保证 web server 传递过来的数据是标准格式的,方便 CGI 程序的编写者. web server(比如说 nginx)只是内容的分发者. 如果请求 /index ...
- cgi,fastcgi,php-cgi,php-fpm之间的关系
参考文章: https://segmentfault.com/q/1010000000256516 http://www.thinkphp.cn/topic/42338.html 这篇文章写的挺好:h ...
- fpm与swoole区别
一.PHP-FPM 早期版本的 PHP 并没有内置的 WEB 服务器,而是提供了 SAPI(Server API)给第三方做对接.现在非常流行的 php-fpm 就是通过 FastCGI 协议来处理 ...
最新文章
- undefined reference to 'pthread_create'
- SublineText 3 安装 Package Control插件
- 读书笔记--MapReduce 适用场景 及 常见应用
- oracle 函数to_char(数据,'FM999,999,999,999,990.00') 格式化数据
- 关于静态库与动态库【Linux 】【C】
- mysql log4jlogger_mybatis结合log4j打印SQL日志
- iphone控制电脑_这可能是首款能在电脑上控制iPhone的工具
- 语言身高预测实验注意事项_?新预训练模型CodeBERT出世,编程语言和自然语言都不在话下...
- javascript动态改变窗口大小
- request如何获取请求路径方法
- python怎么读取中文文件-Python3 中文文件读写方法
- 在英文Win7操作系统上部署C#开发的Web系统出现乱码的解决方法
- Mac安装 MySQL 及可视化工具
- c语言求同构数的三个步骤,C语言求同构数.doc
- linux mentohust dhcp,更换IP后,linux下mentohust无法认证成功?
- windows家庭版关闭windows defender
- 利用高德api定位当前位置
- oracle php 教程 pdf,AJAX+PHP+Oracle数据库Web开发 ((美)Lee Barney) 中文PDF扫描版 37.5M
- (Swift)Missing argument for parameter #1 in call
- 如何有效提升网站访问量?你的网站访问量大吗
热门文章
- BZOJ 1003 [ZJOI2006]物流运输trans ★(Dijkstra + DP)
- How to tie your shoes [by:姚铭]
- Android—构建安全的Android客户端请求,避免非法请求
- Linux里如何查找文件内容
- Winsw将jar包部署为windows服务
- 经典排序算法(十七)--计数排序Counting Sort
- html5实现拖拽上传图片,JS HTML5拖拽上传图片预览
- 万能点位图软件_万能点位图软件_BoardViewer
- 零基础入门python web 自动化测试_web自动化测试从入门到持续集成
- mybatis连接池