J'essaie de faire fonctionner Python avec Apache, mais je n'arrive pas à réussir avec CGI ou mod_python.
Quelqu'un connaît-il un bon tutoriel ou quelque chose?
Merci.
mod_python
est fondamentalement non maintenu - vous devriez regarder mod_wsgi
. Installez le package libapache2-mod-wsgi
, puis lancez-le sudo a2enmod wsgi
pour l'activer.
Juste un exemple rapide pour le faire fonctionner, remplissez quelque chose comme ceci dans votre /etc/apache2/sites-enabled/default
:
WSGIScriptAlias /test /path/to/python/file.py
Et dans le dossier /path/to/python/file.py
:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return "Hello World"
Après avoir redémarré Apache2, toute demande de /test
se transformera en appel deapplication()
dans votre fichier python.
Pour de plus amples informations, consultez WSGI (WebServer Gateway Interface), la façon dont Python s'intègre aux serveurs Web.
Bonus / mise à jour:
Python (sans surprise) a un petit serveur WSGI dans la bibliothèque standard pour les tests. Si vous ajoutez ceci au bas de votre fichier, vous pouvez l'exécuter comme n'importe quel ancien exécutable à des fins de test, puis laisser Apache prendre le relais pour la production:
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
à jour le'200 OK'
par python.org/dev/peps/pep-0333