美文网首页
详解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