Ukratko
Table of Contents
XL podržava FastCGI 1.0 specifikaciju. Podržan je multipleks više zahtjeva preko jedne konekcije istovremeno. Podržan je Responder mod, nisu podržani (ali su u planu) Authorizer i Filter.
lighttpd configuration
Prvo, moramo dodati index.xhtml u važeće index file names, u lighttpd.conf:
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm", "index.xhtml" )
I exclusion za static fajlove...
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".xl", ".xhtml" )
Zatim u fastcgi.servers config sekciju:
fastcgi.server = (
".xhtml" => (
"localhost" => (
"socket" => "/tmp/xli-fastcgi.socket",
"bin-path" => "/usr/bin/xli-fcgi",
"max-procs" => 1,
"check-local" => "disable"
)
)
)
Sad je potrebno restartovati lighttpd.
Konfiguracija xli-fcgi baziranog hostovanog sajta
U trenutku kad se u okviru neke prezentacije prvi put zatraži neki .xhtml URL, odnosno prefix koji je navede u fastcgi-server sekciji, xli-fcgi će da učita /index.xl iz DOCUMENT_ROOT prezentacije i izvršiće index.Main proceduru, sa argumentom HTTP_HOST i logWr. Ova procedura će da inicijalizira "web server" i page handlere. WebServer.m3 će znati da je u pitanju FastCGI mod i neće slušati HTTP na TCP socketu, niti će prihvatiti konfiguraciju file handlera - samo čiste page handlere.
FastCGI.ServeRequest će stripovati .xhtml ekstenziju (i tačku - ukupno 6 karaktera) i nastaviće normalno servisiranje zahtjeva. "Kao da se ništa nije desilo". XL kod neće primijetiti razliku dok eventualno ne pogleda u FastCGI.ServeRequest.params (koji ćemo proslijediti dok se još ispegla i usaglasi sa "TCP" granom WebServer.m3.
FastCGI.ServeRequest poziva WebServer.ServeRequest koji dalje poziva konfigurisane page handlere. Page handleri direktno pišu u FastCGIWr.T koji najkraćim putem šalje rezultat izvršavanja serveru.
TODO: logWr (FCGI_STDERR) će kasnije biti povezan da služi kao standardni izlaz za vrijeme servisiranja XL zahtjeva i to će omoguciti uvid u izlaz iz skriptova osim rezultata.
Nijedan .xhtml fajl ne mora fizički da postoji (niti će direktno biti iskorišten i ako postoji osim ako to ne uradi XL kod s namjerom ) osim index.xhtml nulte veličine koji služi samo zato da ga lighttpd "nađe" i prepusti nadležnost nad URL koji završava sa / našem FastCGI skriptu.
