Risposte:
mod_python
è sostanzialmente non gestito - dovresti esaminare mod_wsgi
. Installa il pacchetto libapache2-mod-wsgi
, quindi rilascialo sudo a2enmod wsgi
per abilitarlo.
Proprio come un rapido esempio per farlo funzionare, aggiungi qualcosa di simile nel tuo /etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
E nel file /path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
Dopo aver riavviato Apache2, qualsiasi richiesta a /test
verrà trasformata in una chiamata application()
nel tuo file python.
Per ulteriori informazioni, consultare WSGI (WebServer Gateway Interface), il modo in cui Python si integra con i web server.
Bonus / Aggiornamento:
Python (non sorprende) ha un piccolo server WSGI nella libreria standard per il test. Se lo aggiungi nella parte inferiore del file, puoi eseguirlo come qualsiasi vecchio eseguibile a scopo di test e quindi lasciare che Apache subentri alla produzione:
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
to '200 OK'
per python.org/dev/peps/pep-0333