FastCGI
CGI全程“通用网关接口”,它可以让一个客户端从网页浏览器向执行在Web服务器上的程序请求数据,CGI描述了客户端和这个程序之间传输数据的一种标准。 FastCGI是Web服务器和处理程序之间通信的一种协议,是CGI的一种改进,FastCGI类似一个常驻性的CGI,它可以一直执行,在请求到达时不会花费时间去fork一个进程进来处理。因为他只是一个通信协议,且支持分布式的运算,即FastCGI程序可以在网站服务器以外的主机上执行并接受且接受来自其他网站服务器的请求。 FastCGI是与语言无关的、可伸缩架构的CGI开发扩展,将CGI解释器进程保持在内存当中,可以获得较高的性能。CGI程序反复加载是CGI性能地下的主要原因,如果CGI程序保持在内存中并接收FastCGI进程管理器的调度,则可以提供良好的性能、伸缩性等。 FastCGI大致工作流程: ①Web Service在启动时加载FastCGI进程管理器; ②FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Service的连接; ③当客户端请求到达Web Service时,FastCGI进程管理器选择并链接到一个CGI解释器。Web Service 将CGI环境变量和标准输入发送到FastCGI进程php-cgi