美文网首页
详解CGI、FastCGI、PHP-CGI、PHP-FPM

详解CGI、FastCGI、PHP-CGI、PHP-FPM

作者: 10xjzheng | 来源:发表于2018-04-21 16:39 被阅读24次

    1. 什么是CGI和FastCGI

    • CGI:
      通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。
    • FastCGI:
      快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。
      FastCGI致力于减少网页服务器与CGI程序之间互动的开销,从而使服务器可以同时处理更多的网页请求。
    • 结论:CGI跟FastCGI都是协议、有别于CGI程序、FastCGI程序

    2. 什么是PHP-CGI、PHP-FPM

    • PHP-CGI:
      PHP-CGI是PHP自带的FastCGI管理器,也就是专门给PHP使用的FastCGI管理器
      PHP-CGI的不足:
      1、php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启。
      2、直接杀死php-cgi进程,php就不能运行了。(PHP-FPM和Spawn-FCGI就没有这个问题,守护进程会平滑从新生成新的子进程。)

    • PHP-FPM:
      因为PHP-CGI的不足,所以PHP-FPM诞生了,它解决了PHP-CGI的不足,同时还具备更多的功能,还表现在其他方面更表现强劲。
      PHP-FPM 是对于 FastCGI 协议的具体实现,他负责管理一个进程池,来处理来自Web服务器的请求生成新的子进程。

    3. 图解

    image.png

    相关文章

      网友评论

          本文标题:详解CGI、FastCGI、PHP-CGI、PHP-FPM

          本文链接:https://www.haomeiwen.com/subject/gnwxlftx.html