FastCGI是一种开放的、可扩展的Web应用程序接口,该接口可以通过Web服务器(如Apache、Nginx等)启动和管理外部程序,与其他Web服务器接口不同的是,这些外部程序可以长时间运行,同时可以处理多个进程的请求,以实现快速而高效的Web应用程序。FastCGI具有保持长连接
,进程池管理
,多进程处理
等优势,使得在高并发访问时,更好的处理请求,大大提高了Web应用程序的性能和可靠性。对于CGI接口而言,与Web服务器的每个请求,都需要重新生成一个新的进程,因此效率低下,资源利用不充分,无法胜任大规模的Web应用程序开发。
FastCGI接口,是CGI中的重要进化,它不仅克服了前者的缺陷,同时还能够实现一系列CGI接口所难以企及的高级功能。FastCGI可以是一种程序架构,让php等脚本和Web服务器间的通信变得更快,出色的性能已经成为FastCGI的一个关键特性。
通过Web服务器调用FastCGI方式,让Web服务器fork()出指定数量的FastCGI进程,这些进程就等待着来自Web服务器的请求,这些进程间也会发生通信,但是这一过程将会更快,因此,FastCGI进程不必每次去重新解释它们自己的程序,这一优势让FastCGI运行得更快。