Lequel de Lighttpd et Nginx est, sur la base de votre expérience, mieux adapté à Django? J'ai utilisé les deux et je ne vois pratiquement aucune différence, ils fonctionnent très bien ... Y a-t-il des cas d'utilisation lorsque l'un d'eux agit beaucoup mieux que l'autre? Lorsque vous répondez, veuillez prendre en compte à la fois la simplicité de configuration et l'efficacité.
Ma configuration habituelle est d'avoir un processus Django FCGI séparé (comme dans ./manage.py runfcgi daemonize=false port=8098 host=127.0.0.1
) lancé via daemontools ou un init.d
script et lighty / nginx agissant comme un proxy inverse.
Oh, et si vous pensez qu'un autre serveur http est bien meilleur pour Django que Lighty et Nginx, n'hésitez pas à partager vos réflexions.
Réponses:
Nginx et Lighttpd sont de meilleurs choix qu'apache quand il s'agit de les utiliser comme proxy inverse pour Django, Rails, etc. Les deux prennent en charge le proxy FastCGI et Http. Les deux offrent un modèle basé sur une sélection unique () (ou mieux) pour une utilisation efficace des ressources.
Cependant mon vote va à Nginx, il a une base d'utilisateurs très active (c'est actuellement le chouchou de l'ensemble Ruby on Rails), et est en développement actif. Lighttpd pourrait être confondu avec la mort, 2 ans et plus et nous attendons toujours une version bêta de 1,5.
la source
mod_wsgi est un moyen recommandé pour mettre l'application Django en production. Le mod_wsgi d'Apache est bien meilleur que nginx. Vous ne pouvez pas trouver de package officiel (dans les distributions Linux actuelles) pour mod_wsgi de nginx et vous devez le compiler vous-même. J'aime nginx mais si vous voulez jouer en toute sécurité, jouez avec Apache mod_wsgi.
la source
mod-wsgi est le meilleur moyen d'exécuter des applications django en production, moins rapidement que fastcgi et aucun problème avec les heures de démarrage, etc.
Le vrai mod-wsgi est pour apache, mais il existe un autre mod-wsgi pour nginx. L'apache est génial, je ne peux pas commenter sur le nginx.
Personnellement, je resterais loin de lighttpd. Il n'a pas la stabilité de nginx, je n'ai pas encore vu de cas de lighttpd qui n'a pas de fuite de mémoire.
Fondamentalement, mon premier choix serait apache 2.2, mon deuxième choix serait nginx.
Ne croyez pas le battage médiatique sur le temps de réponse et l'évolutivité. La vérité est que cela n'a pas d'importance. (Google utilise Apache).
la source
Pensez également à utiliser Google App Engine. Vous pouvez y héberger votre projet Django gratuitement et ne pas avoir à vous soucier de la maintenance de l'infrastructure du serveur.
la source