Как использовать FastCGI с cFos Personal Net
FastCGI является улучшением по сравнению с CGI: выполнение обычного CGI-скрипта сопряжено с большими издержками. Новый процесс должен быть создан, интерпретатор сценария должен быть запущен, и сценарий должен быть хотя бы проанализирован.
FastCGI устраняет большую часть этих накладных расходов. Сценарий или приложение FastCGI запускается только один раз, а затем обменивается данными с веб-сервером с помощью специальных сообщений FastCGI. Запросы HTTP-сценария к этому сценарию и их ответы используют эти сообщения. Процесс остается на неопределенное время в памяти, и сценарий должен быть проанализирован только один раз. Это позволяет выполнять сценарий с гораздо меньшими накладными расходами.
Для cFos Personal Net это также позволяет вам использовать Node.js для программ Javascript (и с ним один из самых быстрых движков Javascript).
Вот шаги для установки FastCGI с Node.js для cFos Personal Net:
Установите и запустите cFos Personal Net
Установите модуль узла node-fastcgi, выполнив "npm i node-fastcgi" (или "npm i -global node-fastcgi")
Откройте http://localhost/pub/fcgi/fcgi_test.fcgi в нашем браузере
cFos Personal Net поддерживает роль FastCGI "Responder", то есть приложение / скрипт FastCGI вызывается для обработки HTTP-запроса. Он поддерживает только конфигурацию, в которой запускается один скрипт FastCGI для каждого запрошенного имени файла и запросы мультиплексируются по одному соединению. Поскольку сценарии FastCGI работают очень похоже на обычные сценарии CGI, они обычно используют STDIN / STDOUT для связи с веб-сервером. Поэтому эта конфигурация имеет больше смысла.
Чтобы упростить разработку ваших собственных скриптов FastCGI (например, с Node.js), ошибки скриптов перенаправляются в браузер. Также: при разработке скрипта вам не нужно перезагружать веб-сервер при изменении скрипта. Просто завершите процесс интерпретатора сценария. cFos Personal Net перезагрузит новую версию скрипта при необходимости в следующем запросе.
Cпецификация FastCGI
https://github.com/fast-cgi/spec/blob/master/spec.md
FastCGI в Википедии
https://en.wikipedia.org/wiki/FastCGI
Node.js
https://nodejs.org/en/
Модуль Node.js для FastCGI
https://www.npmjs.com/package/node-fastcgi
Документирование возможностей сценариев FastCGI в cFos Personal Net