cgi

cgi:通用网关接口。
作用:让网页具有交互功能。
使用场景:HTTP服务器和其他应用程序(php解析器)通信时需要使用。(服务器不能处理php,asp这样的文件,只能外包给其他程序处理)。
工作原理:每当浏览器向服务器发起请求,服务器就请求操作系统生成一个新的CGI解析器进程,进程处理完一个解析后退出,下个请求来时创建一个新进程。
时序图:
 cgi-邹振忠的博客
 
fastcgi
定义:一个常驻(long-live)型的CGI(如php-cgi)
特点:它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次。
fastCGI的优点:fastCGI采用C/S结构,可以将http服务器和动态脚本解析服务器分离(二者可以部署在不同的服务器上)
工作原理:
  1. 服务器启动时载入FastCGI进程管理器(如:php-fpm)
  2. FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。
  3. 当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。 Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
  4. FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时, 请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。
cgi-邹振忠的博客
 
php-fpm:FastCGI进程管理器
php-cgi:fastcgi的一种
posted @ 2018-09-04 09:45  邹忠  阅读(523)  评论(0编辑  收藏  举报