cFos Personal NetでFastCGIを使用する方法
FastCGIはCGIよりも改善されています。通常のCGIスクリプトを実行すると、多くのオーバーヘッドが発生します。新しいプロセスを作成し、スクリプトインタープリターを起動し、少なくともスクリプトを解析する必要があります。
FastCGIは、このオーバーヘッドの多くを排除します。 FastCGIスクリプトまたはアプリは一度だけ起動され、その後、特別なFastCGIメッセージを使用してWebサーバーと通信します。このスクリプトに対するHTTPスクリプト要求とその応答は、これらのメッセージを使用します。プロセスはメモリ内に無期限に残り、スクリプトは一度だけ解析する必要があります。これにより、はるかに少ないオーバーヘッドでスクリプトを実行できます。
cFos Personal Netの場合、これにより、JavascriptプログラムにNode.jsを使用することもできます(これにより、最速のJavascriptエンジンの1つ)。
cFos Personal Net用のNode.jsでFastCGIをインストールする手順は次のとおりです。
cFos Personal Netをインストールして実行する
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を開きhttp://localhost/pub/fcgi/fcgi_test.fcgi
cFos Personal NetはFastCGIロール"Responder"サポートします。つまり、FastCGIアプリ/スクリプトが呼び出され、HTTP要求を処理します。要求されたファイル名ごとに1つのFastCGIスクリプトが開始され、要求が1つの接続で多重化される構成のみをサポートします。 FastCGIスクリプトは通常のCGIスクリプトと非常によく似た動作をするため、通常はWebサーバーとの通信にSTDIN / STDOUTを使用します。したがって、この構成が最も理にかなっています。
独自の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のドキュメント
cFos Personal Netのドキュメント
cFos Personal NetのFastCGIスクリプト機能のドキュメント