Hoe FastCGI te gebruiken met cFos Personal Net
FastCGI is een verbetering ten opzichte van CGI: het uitvoeren van een normaal CGI-script heeft veel overhead. Er moet een nieuw proces worden gemaakt, de scriptinterpreter moet worden gestart en het script moet minimaal worden ontleed.
FastCGI elimineert veel van deze overhead. Een FastCGI-script of -app wordt slechts eenmaal gestart en communiceert vervolgens met de webserver door middel van speciale FastCGI-berichten. HTTP-scriptverzoeken voor dit script en hun antwoorden gebruiken deze berichten. Het proces blijft voor onbepaalde tijd in het geheugen en het script mag slechts eenmaal worden ontleed. Dit zorgt voor scriptuitvoering met veel minder overhead.
Voor cFos Personal Net stelt dit u ook in staat om Node.js te gebruiken voor Javascript-programma's (en daarmee een van de snelste Javascript-engines).
Hier zijn de stappen voor het installeren van FastCGI met Node.js voor cFos Personal Net:
Installeer cFos Personal Net en voer het uit
Installeer Node.js
Installeer de knooppuntmodule node-fastcgi door "npm i node-fastcgi" (of "npm i -global node-fastcgi") uit te voeren
Wijzig het voorbeeldscript fcgi_test.fcgi in de directory cFos Personal Net pub/fcgi
Open http://localhost/pub/fcgi/fcgi_test.fcgi in onze browser
cFos Personal Net ondersteunt de FastCGI-rol "Responder", dwz dat de FastCGI-app / script wordt aangeroepen om het HTTP-verzoek te verwerken. Het ondersteunt alleen de configuratie waarbij één FastCGI-script per aangevraagde bestandsnaam wordt gestart en aanvragen via één verbinding worden gemultiplexed. Aangezien FastCGI-scripts zeer vergelijkbaar zijn met normale CGI-scripts, gebruiken ze meestal STDIN / STDOUT voor communicatie met de webserver. Daarom is deze configuratie het meest logisch.
Om de ontwikkeling van uw eigen FastCGI-scripts (bijvoorbeeld met Node.js) te vergemakkelijken, worden scriptfouten naar de browser doorgestuurd. Ook: bij het ontwikkelen van het script hoeft u de webserver niet opnieuw te starten wanneer u het script wijzigt. Dood gewoon het proces van de scripttolk. cFos Personal Net zal de (nieuwe versie van) het script opnieuw laden indien nodig in de volgende aanvraag.
Referenties
FastCGI-specificatie
https://github.com/fast-cgi/spec/blob/master/spec.md
FastCGI op Wikipedia
https://en.wikipedia.org/wiki/FastCGI
Node.js
https://nodejs.org/en/
Node.js module voor FastCGI
https://www.npmjs.com/package/node-fastcgi
cFos Personal Net-documentatie
cFos Personal Net-documentatie
FastCGI-scripts
Documentatie van de FastCGI-scriptfuncties van cFos Personal Net