4 votes

Configuration du VPS Django

Je cherche à faire fonctionner quelques sites Django sur mon VPS, avec nginx agissant en tant que front-end pour cela. J'ai eu quelques problèmes avec mod_python et Apache, le site commence juste à se tromper dès que le trafic commence à augmenter parce qu'il utilise juste donc de RAM pour chaque demande. J'ai donc fait quelques recherches, et j'ai découvert que mod_python n'est pas vraiment mon meilleur choix pour un petit VPS.

Dans ma configuration, nginx sert les fichiers statiques (javascript, css, images) et utilise memcached pour réduire considérablement les requêtes adressées à un back-end Apache en mettant en cache les pages qu'Apache "fabrique", mais c'est toujours en cours d'exécution mod_python Hier, certaines personnes m'ont encore dit qu'elles obtenaient des erreurs 500 sans aucune raison.

Ce que je cherche à faire est d'utiliser FastCGI pour exécuter Django maintenant, j'ai lu qu'il peut gérer un trafic plus élevé avec moins de RAM, mais la configuration de celui-ci a été un peu bizarre pour moi à comprendre ; je ne suis pas un expert sur certains des termes qui sont jetés autour du tout. Les principales choses que je recherche sont ces options :

maxspare=NUMBER      max number of spare processes / threads  
minspare=NUMBER      min number of spare processes / threads  
maxchildren=NUMBER   hard limit number of processes / threads  
method=IMPL          prefork or threaded (default prefork)

Toute aide pour déterminer sur quoi je dois les régler serait la bienvenue. grandement apprécié. J'aimerais également savoir si et comment les processus mentionnés sont liés aux processus de travail de nginx. Le serveur héberge 4 sites Web qui gèrent généralement quelques milliers de visites par jour, mais ils ont tous tendance à être touchés à peu près en même temps par la majorité du trafic, et c'est là que les problèmes commencent.

J'ai aussi lu quelque part qu'il fallait utiliser Tornade comme serveur WSGI pour Django... Est-ce que cela pourrait être une meilleure solution ? Merci !

3voto

sjors miltenburg Points 694

Je sais que c'est une vieille question, mais au cas où quelqu'un d'autre tomberait dessus, la façon recommandée de configurer Django sur Apache ces jours-ci est d'utiliser mod_wsgi :

Déploiement de Django avec Apache et mod_wsgi est la méthode recommandée pour mettre Django en production.

mod_wsgi est un module Apache qui peut être utilisé pour héberger toute application Python qui supporte le WSGI Python y compris Django. Django fonctionnera avec toute version d'Apache qui prend en charge mod_wsgi.

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X