Ich habe ein Lighttpd-Setup auf meinem Raspberry Pi, möchte aber, dass der serverseitige Code jetzt funktioniert. Ich bin mit PHP vertraut, aber ich denke, ich sollte Python ausprobieren, da es die "Gehe zu" -Sprache für den Raspberry Pi sein soll. Wie kann ich erreichen, dass Python serverseitigen Code über Lighttpd verarbeitet?
python
web-server
lighttpd
Mark Ingram
quelle
quelle
Antworten:
Was Sie brauchen, ist CGI-Unterstützung für lighttpd.
Öffnen Sie die lighttpd-Konfigurationsdatei ( /etc/lighttpd/lighttpd.conf ) und kommentieren Sie die Zeile "mod_cgi" aus (entfernen Sie das # am Zeilenanfang, falls vorhanden), oder fügen Sie diese Zeile hinzu, falls sie nicht vorhanden ist.
Fügen Sie am Ende der Datei Folgendes hinzu:
Starten Sie den lighttpd-Daemon neu:
Erstellen Sie dann ein cgi-bin- Verzeichnis im Stammverzeichnis Ihres Webservers. Alle Dateien, die in diesem Verzeichnis mit .py enden, werden von Python verarbeitet.
Sie können jetzt Python-Skripte schreiben, um Webanforderungen zu verarbeiten. Vielleicht möchten Sie dieses Tutorial zum Schreiben von CGI-Programmen mit Python lesen .
Wenn Sie andererseits lieber ein Framework verwenden möchten, um einige der Details auf niedriger Ebene zu verarbeiten und die Entwicklerproduktivität zu verbessern, empfehle ich, web.py zu überprüfen . Sie können es mit apt installieren:
Lucas vom Cloud 101-Blog hat ein großartiges Tutorial zum Schreiben von Webseiten mit dem Webpy-Framework veröffentlicht.
quelle
Die akzeptierte Antwort hat bei mir nicht funktioniert und ignoriert auch die vorkonfigurierten Pakete, die für Lighttpd verfügbar sind.
Der richtige Weg, um Python auf Lighttpd für die Himbeere zu installieren, ist:
Aktivieren Sie zuerst cgi by
sudo lighttpd-enable-mod cgi
Dies erstellt eine neue Konfigurationsdatei für Lighttpd:
/etc/lighttpd/conf-enabled/10-cgi.conf
Bearbeiten Sie die Konfigurationsdatei so
nano /etc/lighttpd/conf-enabled/10-cgi.conf
, dass sie ungefähr so aussiehtStellen Sie sicher, dass Python 2 installiert ist, indem Sie Folgendes ausführen:
/usr/bin/python --version
Starten Sie jetzt neu
sudo /etc/init.d/lighttpd force-reload
Viel Glück!
quelle