Як використовувати 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.js
Встановіть модуль вузла node-fastcgi, виконавши "npm i node-fastcgi" (або "npm i -global node-fastcgi")
Змінити зразок скрипта fcgi_test.fcgi в каталозі cFos Personal Net pub/fcgi каталог
Відкрити http://localhost/pub/fcgi/fcgi_test.fcgi в нашому браузері
cFos Personal Net підтримує роль FastCGI "Responder", тобто для обробки HTTP-запиту викликається додаток/скрипт FastCGI. Він підтримує тільки конфігурацію, в якій запускається один FastCGI-скрипт на кожне запитуване ім'я файлу і запити мультиплексуються через одне з'єднання. Оскільки скрипти FastCGI працюють дуже схоже на звичайні CGI-скрипти, вони зазвичай використовують STDIN / STDOUT для зв'язку з веб-сервером. Тому така конфігурація має найбільший сенс.
Для полегшення розробки власних FastCGI-скриптів (наприклад, за допомогою Node.js), помилки скриптів перенаправляються на браузер. Також: При розробці скрипта не потрібно перезавантажувати веб-сервер при зміні скрипта. Просто зупиніть процес інтерпретатора сценарію. 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/
Модуль Node.js для FastCGI
https://www.npmjs.com/package/node-fastcgi
Документування можливостей FastCGI-скриптів cFos Personal Net