2010-11-25 6 views
2

Je cherche à savoir de la communauté que vous pensez être le meilleur?django mod_wsgi, nginx MySQL ou Postgres

Django s'exécutant avec les éléments suivants.

Django, mod_wsgi et MySQL Django, mod_wsgi et Postgres Django, nginx et MySQL OU Django, nginx et Postgres

?

+3

Il n'y a pas de réponse unique. Le choix correct dépend entièrement de vos exigences de projet, où il est hébergé, politique de bureau ... – Nate

+0

related: http://stackoverflow.com/q/585549/164552 – rwilliams

Répondre

4

J'utilise nginx parce que c'est plus rapide et j'aime la configuration de la configuration. Je n'ai jamais eu aucun problème à l'utiliser, donc je ne vois pas pourquoi on devrait plutôt utiliser Apache + mod_wsgi. De plus, en utilisant fastcgi, vous pouvez redémarrer votre site django sans redémarrer tout le serveur nginx, ce que j'aime.

Et Postgres parce que:

Si vous n'êtes pas lié à aucun système existant et ont la liberté de choisir une base de données back-end, nous vous recommandons de PostgreSQL, qui horloge atteigne un bon équilibre entre les coûts, les caractéristiques , vitesse et stabilité. (. Le guide définitif de Django, p 15)

Copié de: MySQL vs PostgreSQL? Which should I choose for my Django project?

EDIT:

Je pense maintenant que uwsgi courir derrière un équilibreur de charge (vernis) est la meilleure solution. nginx peut ensuite être utilisé pour servir un contenu statique.

Voir "Varnish et nginx, la meilleure façon (0.9.8.4)" @http://projects.unbit.it/uwsgi/wiki/Example

Vous pouvez utiliser empereur (http://projects.unbit.it/uwsgi/wiki/Emperor) pour la gestion des applications dans uwsgi. Cela vous permettra de redémarrer des applications individuelles simplement par en touchant leurs fichiers de configuration.

+1

Écoutez cet homme. – arnorhs

0

Selon this benchmark Django + uWSGI gagne.

+3

Benchmark imparfait. On ne pourrait jamais exécuter Apache avec 1000 threads par enfant. Qu'ils aient configuré Apache d'une manière sous-optimale, il n'est pas surprenant qu'Apache montre une quantité excessive de mémoire utilisée. –

0

Vous pouvez utiliser nginx comme proxy et exécuter apache sur localhost.

Pour démarrer un seul projet django, vous devez appuyer sur le fichier wsgi de ce projet et recharger uniquement cette instance de django. Vous n'avez pas besoin de redémarrer/recharger apache

Questions connexes