Як выкарыстоўваць 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 падтрымлівае ролю Fast "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 ў Вікіпедыі
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