什么是FastCGI

FastCGI 是一个可伸缩,高效的在http server 和动态脚本语言之间通信的接口

 

FastCGI 是从传统的的 CGI发展过来的,传统的CGI接口方式的主要缺点是性能差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后将结果返回给HTTP服务器,所以处理高并发访问时是不大可能的,安全性也差。

 

FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程,当http服务器每次遇到动态程序时,可以将其交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一的处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大的程度上提高了整个系统的性能。

 

FastCGI 的主要特点是把动态语言和http 服务器分离开来,所以nginx与php/php-fpm经常被部署到不同的服务器上,以分担前端nginx服务器的压力,使nginx专一处理静态的请求和转发动态请求,而php/php-fpm服务器专一解析php动态请求。

 

你可能感兴趣的:(cgi)