2010-07-23 5 views
41

J'ai joué avec mon propre serveur web (Apache + Ubuntu) et python. D'après ce que je l'ai vu il y a 3 principales façons de le faire (?):mod_wsgi, mod_python, ou juste cgi?

  1. Apache configuré pour gérer .py comme cgi
  2. Apache configuré pour utiliser mod_python qui est maintenant obsolète
  3. (?) Apache configuré pour utiliser mod_wsgi

Je me souviens avoir lu que Django préfère mod_wsgi, et je suis un peu intéressé à apprendre Django (je l'ai entendu leur tutoriel officiel est plutôt excellent).

Quelle est la configuration 'recommandée'? Je suppose qu'il n'y a plus aucune raison d'utiliser mod_python, mais quelles sont les différences entre gérer .py comme cgi, et mod_wsgi? Est-il possible de les exécuter en tandem (et voulez-vous?), Ou est-ce juste une idée ridicule et je devrais arrêter de penser à des choses aussi folles? Je pense vraiment que je suis à la recherche d'une introduction à Apache + Python (les liens sont également bons) - rien de ce que j'ai rencontré jusqu'ici a été terriblement instructif - ils étaient principalement juste comment faire.

Répondre

30

mod_python est mort, l'utilisation de mod_python n'est probablement pas une bonne idée pour les nouveaux projets. Personnellement, je préfère utiliser mod_wsgi sur CGI (ou FastCGI). C'est mort-simple à mettre en place, et beaucoup plus efficace.

+13

Réfutation du site mod_python: 'Actuellement, mod_python n'est pas en cours de développement.Cela ne signifie pas qu'il est «mort» comme certains l'ont prétendu. Cela signifie simplement que le code et le projet sont assez mûrs lorsqu'il est très difficile de le maintenir. (http://www.modpython.org/) –

+5

En outre, il est de nouveau en développement actif, avec une nouvelle version en novembre 2013. – nedned

15
  1. N'utilisez pas de CGI. C'est inefficace. Créer un nouveau processus pour chaque demande. Non merci

  2. Dont't passer beaucoup de temps avec mod_python

  3. Utilisez mod_wsgi.

Si vous voulez écrire des éléments de type CGI sans cadre, utilisez de toute façon mod_wsgi. La norme WSGI (PEP 333) est essentielle pour créer des applications Web de manière simple, interchangeable, réutilisable, plug-and-playable.

8

J'irais aussi avec mod_wsgi.

Si vous voulez une meilleure compréhension de la question, un coup d'oeil à ceci:

bonnes choses!