〇、背景

参考了几篇文章,总结成 图解 + 注释 方便以后查阅。

参考资料:
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)联系与区别 【图解 + 注释】相关推荐

  1. 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 ...

  2. Nginx + CGI/FastCGI + C/Cpp(编不过去,不搞了。。。)(Common Gateway Interface)

    Nginx + CGI/FastCGI + C/Cpp 文章目录 1.CGI 1.1.环境变量 1.2.标准输入 总结:CGI使外部程序与Web服务器之间交互成为可能.CGI程式运行在独立的进程中,并 ...

  3. PHP-CGI, FastCGI, PHP-FPM的关系和区别

    Web server(apache, nginx) 接受到一个php请求后要解析php文件, 怎么解析呢, web server是C语言写的, 所以需要一个协议, 一个php解释器, 也就是CGI. ...

  4. 漫谈CGI FastCGI WSGI

    作者:auxten 链接:https://zhuanlan.zhihu.com/p/20054757 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. CGI(Comm ...

  5. 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 ...

  6. cpu二级缓存和一级缓存详解及区别(图解)

    cpu二级缓存和一级缓存详解及区别(图解) 2012-09-02 12:27:55|  分类: 硬件技术 |字号 订阅 处理器缓存的传输速率确实很高,然而还不足以取代内存的地位,这主要是由于缓存只是内 ...

  7. jsp注释和html注释的区别,JSP注释和HTML注释的区别.doc

    JSP注释和HTML注释的区别 JSP注释和HTML注释的区别: HTML注释是可以发送到客户端且在客户端可见的注释:JSP注释只存在于服务器端在客户端不可见的注释.JSP引擎对HTML注释不做任何解 ...

  8. php cgi fastcgi php-fpm区别

    CGI 的作用 CGI 是为了保证 web server 传递过来的数据是标准格式的,方便 CGI 程序的编写者. web server(比如说 nginx)只是内容的分发者. 如果请求 /index ...

  9. cgi,fastcgi,php-cgi,php-fpm之间的关系

    参考文章: https://segmentfault.com/q/1010000000256516 http://www.thinkphp.cn/topic/42338.html 这篇文章写的挺好:h ...

  10. fpm与swoole区别

    一.PHP-FPM 早期版本的 PHP 并没有内置的 WEB 服务器,而是提供了 SAPI(Server API)给第三方做对接.现在非常流行的 php-fpm 就是通过 FastCGI 协议来处理 ...

最新文章

  1. undefined reference to 'pthread_create'
  2. SublineText 3 安装 Package Control插件
  3. 读书笔记--MapReduce 适用场景 及 常见应用
  4. oracle 函数to_char(数据,'FM999,999,999,999,990.00') 格式化数据
  5. 关于静态库与动态库【Linux 】【C】
  6. mysql log4jlogger_mybatis结合log4j打印SQL日志
  7. iphone控制电脑_这可能是首款能在电脑上控制iPhone的工具
  8. 语言身高预测实验注意事项_?新预训练模型CodeBERT出世,编程语言和自然语言都不在话下...
  9. javascript动态改变窗口大小
  10. request如何获取请求路径方法
  11. python怎么读取中文文件-Python3 中文文件读写方法
  12. 在英文Win7操作系统上部署C#开发的Web系统出现乱码的解决方法
  13. Mac安装 MySQL 及可视化工具
  14. c语言求同构数的三个步骤,C语言求同构数.doc
  15. linux mentohust dhcp,更换IP后,linux下mentohust无法认证成功?
  16. windows家庭版关闭windows defender
  17. 利用高德api定位当前位置
  18. oracle php 教程 pdf,AJAX+PHP+Oracle数据库Web开发 ((美)Lee Barney) 中文PDF扫描版 37.5M
  19. (Swift)Missing argument for parameter #1 in call
  20. 如何有效提升网站访问量?你的网站访问量大吗

热门文章

  1. BZOJ 1003 [ZJOI2006]物流运输trans ★(Dijkstra + DP)
  2. How to tie your shoes [by:姚铭]
  3. Android—构建安全的Android客户端请求,避免非法请求
  4. Linux里如何查找文件内容
  5. Winsw将jar包部署为windows服务
  6. 经典排序算法(十七)--计数排序Counting Sort
  7. html5实现拖拽上传图片,JS HTML5拖拽上传图片预览
  8. 万能点位图软件_万能点位图软件_BoardViewer
  9. 零基础入门python web 自动化测试_web自动化测试从入门到持续集成
  10. mybatis连接池