如何在cFos Personal Net中使用FastCGI
FastCGI是對CGI的改進:運行常規CGI腳本會產生大量開銷。必須創建一個新進程,必須啟動腳本解釋器,並且至少必須分析該腳本。
FastCGI消除了很多此類開銷。 FastCGI腳本或應用程序僅啟動一次,然後通過特殊的FastCGI消息與Web服務器通信。對此腳本的HTTP腳本請求及其響應使用這些消息。該進程將無限期地保留在內存中,並且腳本只能被解析一次。這樣可以以更少的開銷執行腳本。
對於cFos Personal Net,這還允許您將Node.js用於Javascript程序(以及最快的Javascript引擎之一)。
以下是使用用於cFos Personal Net的Node.js安裝FastCGI的步驟:
安裝Node.js
通過運行"npm i node-fastcgi" (或"npm i -global node-fastcgi" )來安裝節點模塊node-fastcgi。
修改cFos Personal Net pub/fcgi目錄中的示例腳本fcgi_test.fcgi
在我們的瀏覽器中打開http://localhost/pub/fcgi/fcgi_test.fcgi
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
cFos Personal Net的FastCGI腳本功能的文檔