[Python-de] Python & FastCGI

"Martin v. Löwis" martin at v.loewis.de
Mo Okt 1 22:55:22 UTC 2007


> Muss ich ein neues Modul / neue Module intallieren? Welche?

Ich benutze fcgi.py; es gibt aber auch ein paar Konkurrenzprodukte.

> Muss ich an den Scripts was ändern? Was?

Alles. Ein FCGI-Server hat eine Endlosschleife, in der er

1. einen neuen Request per accept auf einem Socket annimmt
2. auf diesem Socket alle "CGI"-Daten einliest (also Umgebungsvariablen
   und Standardeingabe)
3. auf diesem Socket ebenfalls alle Ergebnisse schreibt (und zwar
   sowohl stdout als auch stderr).

Der FCGI-Socket hat ein eigenes Protokoll, um die verschiedenen
Datenblöcke zu unterscheiden (Umgebungsvariable, stdin, stdout, stderr).

Kurz: es hat mit CGI eigentlich nichts mehr zu tun.

Eigentlich könntest Du auch einen "reverse proxy" aufsetzen;
der einzige Vorteil an FastCGI, den ich sehe, ist, dass mod_fcgi
automatisch den FastCGI-Server startet, wenn man das möchte.
(Außerdem ist es geringfügig einfacher, eine CGI-Anwendung zu
portieren, da man ihr die Illusion von Umgebungsvariablen,
stdin und stdout vermitteln kann).

Ciao,
Martin