FastCGI - rajapinta on asiakas-palvelin-protokolla verkkopalvelimen ja sovelluksen väliseen vuorovaikutukseen, CGI -teknologian jatkokehitys . CGI:hen verrattuna se on tuottavampi ja turvallisempi.
FastCGI poistaa monet CGI - ohjelmien rajoitukset. CGI-ohjelmien haittapuoli on se , että verkkopalvelimen on käynnistettävä ne uudelleen joka pyyntö, mikä johtaa huonoon suorituskykyyn. Sen sijaan, että FastCGI loisi uusia prosesseja jokaista uutta pyyntöä varten, se käyttää jatkuvasti käynnissä olevia prosesseja useiden pyyntöjen käsittelemiseen. Tämä säästää aikaa.
CGI-ohjelmat kommunikoivat palvelimen kanssa käynnissä olevan CGI-prosessin STDIN- ja STDOUT-protokollan kautta, kun taas FastCGI-prosessit käyttävät Unix Domain Sockets tai TCP/IP kommunikoidakseen palvelimen kanssa. Tällä on seuraava etu tavallisiin CGI-ohjelmiin verrattuna: FastCGI-ohjelmia voidaan ajaa ei vain samalla palvelimella, vaan missä tahansa verkossa. On myös mahdollista käsitellä useiden rinnakkaisten FastCGI-prosessien pyyntöjä.
lighttpd sisältää sisäisen FastCGI-kuormituksen tasapainottimen, jota voidaan käyttää jakamiseen useille FastCGI-palvelimille kerralla. Toisin kuin muut ratkaisut, vain FastCGI-prosessin tulisi olla klusterissa , ei koko verkkopalvelinta. Tämän ansiosta FastCGI-prosessi voi käyttää enemmän resursseja kuin esimerkiksi load-balancer + apache + mod_php.
Kun vertaat php-FastCGI:tä apache+mod_php:hen, sinun on kiinnitettävä huomiota siihen, että FastCGI tarjoaa lisäturvaa, kuten FastCGI-prosessin suorittamisen muun käyttäjätunnuksen kuin verkkopalvelimen käyttäjän alla ja voi myös olla chroot 'e: ssä. , muuta kuin chroot -verkkopalvelinta.
Verrattaessa perl-FastCGI:tä apache+mod_perl(1,2:een) edellä mainittujen lisäksi huomaa, että prosessien välinen jaetun muistin käyttö, joka on toteutettu mod_perlissä startup.pl:n kautta, vaatii Perlissä toteutetun FastCGI-prosessinhallinnan . Tämän toteuttavat FCGI::ProcManager-moduuli ja sen lisäosa FCGI::Spawn.
FastCGI:tä voidaan käyttää millä tahansa kielellä, joka tukee socketteja. Olemassa olevat sovellusliittymät :
Vuorovaikutusprotokollat | |
---|---|
Yhdyskäytävät |