Jak korzystać z FastCGI z cFos Personal Net
FastCGI stanowi ulepszenie w stosunku do CGI: Uruchomienie normalnego skryptu CGI wiąże się z dużym nakładem pracy. Musi zostać utworzony nowy proces, należy uruchomić interpreter skryptów i skrypt przynajmniej przeanalizować.
FastCGI eliminuje większość tego narzutu. Skrypt lub aplikacja FastCGI jest uruchamiana tylko raz, a następnie komunikuje się z serwerem WWW za pomocą specjalnych komunikatów FastCGI. Żądania skryptu HTTP na ten skrypt i ich odpowiedzi wykorzystują te wiadomości. Proces pozostaje w pamięci przez czas nieokreślony, a skrypt musi zostać przeanalizowany tylko raz. Pozwala to na wykonanie skryptu przy znacznie mniejszym nakładzie pracy.
W przypadku cFos Personal Net umożliwia to także używanie Node.js dla programów Javascript (a wraz z nim jednego z najszybszych silników Javascript).
Oto kroki instalacji FastCGI z Node.js dla cFos Personal Net:
Zainstaluj i uruchom cFos Personal Net
Zainstaluj Node.js
Zainstaluj moduł węzła node-fastcgi, uruchamiając "npm i node-fastcgi" (lub "npm i -global node-fastcgi")
Zmodyfikuj przykładowy skrypt fcgi_test.fcgi w katalogu pub/fcgi cFos Personal Net
Otwórz http://localhost/pub/fcgi/fcgi_test.fcgi w naszej przeglądarce
cFos Personal Net obsługuje rolę FastCGI "Responder", tzn. aplikacja / skrypt FastCGI jest wywoływany w celu przetworzenia żądania HTTP. Obsługuje tylko konfigurację, w której jeden skrypt FastCGI jest uruchamiany na żądaną nazwę pliku, a żądania są multipleksowane przez jedno połączenie. Ponieważ skrypty FastCGI działają bardzo podobnie do normalnych skryptów CGI, zwykle używają STDIN / STDOUT do komunikacji z serwerem WWW. Dlatego ta konfiguracja jest najbardziej sensowna.
Aby ułatwić tworzenie własnych skryptów FastCGI (np. W Node.js), błędy skryptów są przekierowywane do przeglądarki. Ponadto: Podczas tworzenia skryptu nie trzeba ponownie uruchamiać serwera WWW po zmianie skryptu. Po prostu zabij proces interpretera skryptów. cFos Personal Net przeładuje (nową wersję) skryptu, gdy będzie potrzebny w następnym żądaniu.
Referencje
Specyfikacja FastCGI
https://github.com/fast-cgi/spec/blob/master/spec.md
FastCGI na Wikipedii
https://en.wikipedia.org/wiki/FastCGI
Node.js
https://nodejs.org/en/
Moduł Node.js dla FastCGI
https://www.npmjs.com/package/node-fastcgi
Dokumentacja funkcji skryptowych FastCGI w cFos Personal Net