J'ai récemment appris Python. Je l'ai aimé. Je voulais juste l'utiliser pour le développement Web. Cette pensée a causé tous les problèmes. Mais j'aime ces problèmes :) p>
venir du monde PHP où il n'y a qu'un seul moyen normalisé. Je m'attendais à la même chose et à la recherche de Python & Apache. P>
Configuration de Python sur Windows / Apache? dit P>
Éloignez-vous de mod_python. Un commun idée trompeuse est que mod_python est comme mod_php, mais pour Python. C'est-à-dire pas vrai. P> blockQuote>
Alors, quel est l'équivalent de mod_php en python? p>
J'ai besoin de peu de clarification sur celui-ci Comment les cadres Web Python , WSGI et CGI s'emboîtent p>
CGI, FastCGI et SCGI sont un langage agnostique. Vous pouvez écrire des scripts CGI à Perl, Python, C, Bash ou même Assemblée :). Donc, je suppose
mod_cgi code>,
mod_fastcgi code>,
mod_scgi code> sont leurs modules Apache correspondants. Droite? P>
WSGI est une sorte de fonte optimisée / améliorée une version efficace spécialement conçue pour la langue de Python em> uniquement. Afin d'utiliser ce
mod_wsgi code> est un moyen d'aller. droit? p>
Ceci laisse sur
mod_python code>. Qu'est-ce que c'est alors? P>
Apache -> mod_fastcgi -> Fluillage (via CGI Protocole) -> Django (via le protocole WSGI) FLUP est une autre façon de fonctionner avec WSGI pour tout serveur Web pouvant parler FCGI, SCGI ou AJP P> blockQuote>
Qu'est-ce que le fluillage? Qu'est-ce que AJP? Comment Django est-il venu dans la photo? P>
Ces questions soulèvent des quétions sur PHP. Comment fonctionne-t-il réellement? Quelle technologie utilise-t-il? mod_php & mod_python Quelles sont les différences? p>
À l'avenir Si je veux utiliser Perl ou Java, alors je dois être confus? Veuillez que quelqu'un puisse expliquer les choses clairement et donner une image complète
forte> p>
4 Réponses :
Il n'y a pas d'équivalent exact à mod_php dans le monde Python. P>
mod_python est l'équivalent le plus proche de mod_php, mais cela ne signifie pas que mod_python conviendra à vos besoins. Pour chaque langage de programmation, vous devez énumérer toutes les options possibles et choisir celui dont vous aurez besoin. P>
Pour PHP, vous avez mod_php et mod_cgi, mais à partir de ce deux mod_cgi est inférieur à toutes les manières de mod_php afin que les gens choisissent généralement ce dernier. (Il y a des alternatives, comme SUPHP si vous avez besoin de plus de sécurité, etc.) P>
Pour Python, vous avez MOD_CGI, qui exécutera l'interprète Python à chaque fois que vous faites une demande. Mod_python a plutôt Python intégré de sorte qu'il est généralement plus rapide et plus simple à faire, mais pour les grands projets, ou des projets utilisant un cadre (comme Django), vous voudrez probablement utiliser mod_wsgi car il s'agit du plus de ressources. P>
Pour Ruby, vous avez également la possibilité d'utiliser mod_cgi, mais ce sera beaucoup trop lent. Mod_Ruby est également une option, mais uniquement pour les petits programmes. Mod_FastCGI était généralement l'option pour les rails / Merb et d'autres cadres Web basés sur des rubis, mais ils sont dépourvus de mod_rails et de mod_rack, qui sont en train de respecter. Mais pour des scripts simples, ces derniers sont un peu trop lourds. P>
pour mono (asp.net), vous avez MOD_MONO, qui est généralement la seule option. P>
Pour Java, vous exécutez généralement un serveur Web Tomcat / Jetty distinct et utilisez mod_proxy. P>
Bien sûr exécutant un serveur Web distinct et utiliser mod_proxy est généralement une option pour tous les cadres Web, bien qu'il soit principalement adapté au processus de développement uniquement. Pour les environnements de production, vous devez choisir la meilleure option (celle qui est la plupart des ressources conviviales) Votre cadre (Django, rails, ASP.NET, etc.) a besoin p>
WSGI est une sorte d'inhort optimisé / amélioré une version efficace spécialement conçue pour Python P>
blockQuote>
La différence est que WSGI est définie dans la langue Python elle-même: elle spécifie les objets et les valeurs que votre code recevra votre code. [S | FAST] CGI est plus préoccupé par des octets sur le fil. P>
En écrivant votre demande à la norme WSGI (directement ou à l'aide d'un cadre qui le supporte), vous découplez les préoccupations de l'écriture d'application et du déploiement. P>
Pour utiliser ce mod_wsgi, c'est un moyen d'aller. droit? p>
blockQuote>
C'est un moyen em> d'aller, et certainement un bon choix pour les utilisateurs Apache, mais loin du seul. Écrivez à WSGI et vous pouvez déployer dans une large gamme d'environnements, y compris [S | Fast] CGI et MOD_PYTHON. P> mod_python code> est le plus comme
mod_php code> dans ce qu'il fait (c.-à-d. Il essaie de tout faire). Ce n'est pas nécessairement une bonne chose et je ne recommanderais pas d'écrire des applications aux interfaces Native Mod_python aujourd'hui. P>
Le moyen standard de déployer une application Python sur le Web est via WSGI. Ces jours-ci, il n'y a aucune raison d'utiliser autre chose. P>
mod_wsgi est le module Apache qui prend en charge WSGI. D'autres serveurs Web auront des noms différents pour leurs modules WSGI. P>
+1 merci. Ceci est une réponse à court et à poupille pour "lequel utiliser?"