1、 什么是FastCGI?
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载时CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等
2、 FastCGI的工作原理。
a) FastCGI进程管理器自身初始化。启动多个CGI解释器进程(多个php-cgi进程)并等待来自Web Server的连接。
b) 当客户端请求到达Web服务器(Nginx)时,Web服务器将请求采用TCP协议或UNIX套接口方式转发到FastCGI主进程,FastCGI主进程选择并连接到一个CGI解释器(子进程)。Web服务器将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
c) FastCGI子进程完成处理后,将标准输出和错误信息从同一连接返回Web服务器(Nginx)。当FastCGI子进程关闭连接时,请求便告知处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器的下一个连接,而在一般的普通CGI模式中,php-cgi在此便退出了。
3、 所以,你可以想象普通的CGI模式有多慢,每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展并重新初始化全部数据结构。使用FastCGI,所有这些都只是在进程启动时发生一次。一个额外的好处是,持续数据库连接可以工作。
4、 第七篇和第八篇,讲的都是理论,很枯燥,下一节开始动手验证哦《安装PHP(FastCGI模式)》,喜欢的请关注我哦。持续推出好文ing。