Ich versuche, Python mit Apache zum Laufen zu bringen, habe jedoch weder mit CGI noch mit mod_python Erfolg.
Kennt jemand ein gutes Tutorial oder so?
Vielen Dank.
mod_python
ist im Grunde nicht gewartet - das sollten Sie sich ansehen mod_wsgi
. Installieren Sie das Paket libapache2-mod-wsgi
und geben Sie es aus sudo a2enmod wsgi
, um es zu aktivieren.
Nur als schnelles Beispiel, um es zum Laufen zu bringen, packen Sie so etwas in Ihr /etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
Und in der Datei /path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
Nach dem Neustart von Apache2 wird jede Anfrage /test
in einen Aufruf von application()
in Ihrer Python-Datei umgewandelt.
Weiterführende Literatur, Blick in WSGI (WebServer Gateway Interface), die Art und Weise Python integriert mit Web-Servern.
Bonus / Update:
Python hat (nicht überraschend) einen kleinen WSGI-Server in der Standardbibliothek zum Testen. Wenn Sie dies unten in Ihre Datei einfügen, können Sie sie zu Testzwecken als eine beliebige alte ausführbare Datei ausführen und Apache dann für die Produktion übernehmen lassen:
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('', 8080, application)
print "Serving on http://localhost:8080"
httpd.serve_forever()
200
zu'200 OK'
per python.org/dev/peps/pep-0333