Estoy tratando de hacer que Python funcione con Apache, sin embargo, no logro tener éxito con CGI o mod_python.
¿Alguien sabe un buen tutorial o algo así?
Gracias.
mod_python
es básicamente no mantenido - deberías investigarlo mod_wsgi
. Instale el paquete libapache2-mod-wsgi
, luego emita sudo a2enmod wsgi
para habilitarlo.
Solo como un ejemplo rápido para que funcione, ingrese algo como esto en su /etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
Y en el archivo /path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
Después de reiniciar Apache2, cualquier solicitud /test
se convertirá en una llamada application()
en su archivo python.
Para más información, consulte WSGI (WebServer Gateway Interface), la forma en que Python se integra con los servidores web.
Bonificación / Actualización:
Python (como era de esperar) tiene un pequeño servidor WSGI en la biblioteca estándar para realizar pruebas. Si agrega esto en la parte inferior de su archivo, puede ejecutarlo como cualquier ejecutable anterior para fines de prueba y luego dejar que Apache se haga cargo de la producción:
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
a'200 OK'
por python.org/dev/peps/pep-0333