Как да използвате 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", т.е. приложението / скриптът FastCGI се призовава да обработи HTTP заявката. Той поддържа само конфигурацията, при която се стартира един FastCGI скрипт за заявено име на файл и заявките се мултиплексират през една връзка. Тъй като FastCGI скриптове работят много подобно на обикновените CGI скриптове, те обикновено използват STDIN / STDOUT за комуникация с уеб сървъра. Следователно тази конфигурация има най-голям смисъл.
За да се улесни разработването на вашите собствени FastCGI скриптове (например с Node.js), грешките в скрипта се пренасочват към браузъра. Също така: Когато разработвате скрипта, не е необходимо да рестартирате уеб сървъра, когато промените скрипта. Просто убийте процеса на преводача на скриптове. cFos Personal Net ще презареди (новата версия на) скрипта, когато е необходимо в следващата заявка.
Препратки
Спецификация на FastCGI
https://github.com/fast-cgi/spec/blob/master/spec.md
FastCGI в Wikipedia
https://en.wikipedia.org/wiki/FastCGI
Node.js
https://nodejs.org/en/
Node.js модул за FastCGI
https://www.npmjs.com/package/node-fastcgi
cFos Personal Net документация
cFos Personal Net документация
FastCGI скриптове
Документация на скриптовите функции на FastCGI на cFos Personal Net