FastCGI是对CGI的改进:运行常规CGI脚本会产生大量开销。原因在于CGI运行脚本必须创建一个新进程,必须启动脚本解释器,并且至少必须分析该脚本。
FastCGI回避了了很多此类问题并大大减小开销。 FastCGI脚本或应用程序仅启动一次,并通过特殊的FastCGI消息与Web服务器通信。HTTP脚本会回应此脚本请求并使用这些消息。脚本只能被解析一次,该进程还将无限期地保留在内存中以更少的开销执行脚本。
在使用cFos Personal Net时,您还可以将Node.js用于Javascript程序(它会是您Javascript最快的引擎之一)。
以下是为cFos Personal Net安装Node.js的FastCGI的步骤:
cFos Personal Net支持FastCGI角色"Responder" ,例如调用FastCGI应用程序/脚本来处理HTTP请求。它仅支持以下配置:每个请求的文件名启动一个FastCGI脚本,并通过一个连接多路复用请求。由于FastCGI脚本的操作与普通CGI脚本非常相似,因此它们通常使用STDIN / STDOUT与Web服务器进行通信。因此,此配置最有意义。
为了简化您自己的FastCGI脚本的开发(例如,使用Node.js),脚本错误被重定向到浏览器。另外:开发脚本时,更改脚本无需重新启动Web服务器,只需要杀死脚本解释器的进程。在下一个请求中需要时,cFos Personal Net将重新加载(新的)脚本。
FastCGI的使用说明
https://github.com/fast-cgi/spec/blob/master/spec.md
维基百科 - FastCGI
https://en.wikipedia.org/wiki/FastCGI
Node.js模块
https://nodejs.org/en/
FastCGI所包含的Node.js模块
https://www.npmjs.com/package/node-fastcgi