Quelqu'un pourrait-il expliquer le pour/le contre lors de l'utilisation de WSGI VS WSGI avec Nginx.
Actuellement, je suis en train de créer un serveur de production pour le site Web Django que j'ai préparé mais incapable de décider si je dois utiliser WSGI ou uWSGI. Pourriez-vous expliquer en détail ce qui différencie chaque configuration? la configuration devrait-elle évoluer au mieux?
Merci d'avance
Ok, les gars, cette confusion est due au manque de détails de plusieurs sources, au nom de ces protocoles et à ce que WSGI est réellement.
Sommaire:
Il est généralement préférable d'exécuter Python dans un processus distinct de votre serveur Web principal. De cette façon, le serveur Web peut avoir beaucoup de petits threads qui servent du contenu statique très rapidement, tandis que vos processus Python séparés seront gros et lourds et chacun exécutera leur propre interpréteur Python. Donc, plain WSGI
est mauvais, car il gonfle chacun de vos threads nginx avec un gros interpréteur Python. Utiliser flup
ou gunicorn
ou uWSGI
derrière nginx
est beaucoup mieux, car cela libère nginx pour simplement servir le contenu et vous permet de choisir le nombre de petites lumières les threads nginx à exécuter, indépendamment de votre choix du nombre de threads Python lourds que vous créez pour diffuser du contenu dynamique. Les gens semblent très satisfaits de gunicorn
pour le moment, mais l'une de ces trois options devrait fonctionner correctement.
À l'avenir, cela vous libère également pour déplacer le Python vers un autre serveur lorsque la charge commence à devenir sérieuse.
Je crois que c'est ici http://flask.pocoo.org/docs/deploying/uwsgi/ est une bonne réponse pour dissiper la confusion. La question n'est pas idiote, arrive à toute personne qui voit les deux termes et n'a aucune information préalable sur la façon dont les choses fonctionnent en dehors du monde mod_PHP (par exemple, rien contre php ou les gens)
Le site fait bien d'expliquer en termes pratiques ce qui est nécessaire et quelle est la différence ainsi qu'un bon exemple de déploiement pour nginx.
Ce billet de blog est une comparaison très détaillée de beaucoup de serveurs Python WSGI), avec un résumé et quelques recommandations à la fin.