Da ich mich mal wieder mit lighttpd und FastCGIs herumgeärgert habe, schrieb ich ein Script, das automatisch nach fastcgi Scripten sucht und diese an lighttpd übergibt (als
include_shell)
more (31.3kb)
Aufruf als:
include_shell "/usr/local/lib/lighttpd/include_fcgi.pl"
Kommandozeilenargumente:
--config_file => Pfad zur lighttpd.conf
wenn der wert nicht gesetzt ist versucht das Script eine Konfiguration zu finden
--suffix => Dateiendung für FastCGIs
wenn nichts gesetzt, dann wird jede gefundene ausführbare Datei als FastCGI erkannt.
--bin_path => Suchpfad für FastCGIs
wenn es kein absoluter Pfad ist, dann wird "document_root" als Basispfad genommen
--max_process => Maximale Anzahl der Prozesse die ein CGI-Script parallel haben darf
Default ist 1
--add => Zusätzliche Argumente
--tmp => Verzeichnis in welche die Socket der FastCGIs abgelegt werden
wenn nichts gesetzt nimmt das Scipt den "restbesten" (siehe "tempdir" in File::Spec)
Vorteile:
- Sucht nach Dateiendung und Pfad
- Erkennt automatisch ausführbare Dateien
- Erstellt für jedes Script ein eigenes Socket
Nachteile:
- nur beim Serverstart/ConfigReload werden die Scripte gefunden
- Updates von Scripten werden nicht beachtet (Neustart/ConfigReload erforderlich)
EDIT1: Getopt, TempDir Erkennung und automatische ConfigFile Erkennung ergänzt.
EDIT2: Noch ein Suchpfad für die Config ergänzt.
EDIR3: Zeile 133 verbessert (join => rel2abs) dadurch bleiben absolute Pfade in "bin_path" erhalten. Kommandozeilendokumentation.
Last edited: 2011-01-21 03:55:41 +0100 (CET)