2012-08-22 3 views
2

Cela pourrait être une question vraiment stupide; J'essaie de déployer l'application Django en utilisant Gunicorn. Cependant, je viens de créer wsgi.py qui ressemble à ci-dessous (wsgi.py est dans mon dossier racine du projet):Django WSGI et Gunicorn

import os 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 

# This application object is used by any WSGI server configured to use this 
# file. This includes Django's development server, if the WSGI_APPLICATION 
# setting points here. 
from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 

# Apply WSGI middleware here. 
# from helloworld.wsgi import HelloWorldApplication 
# application = HelloWorldApplication(application) 

et maintenant je couru:

python manage.py run_gunicorn 

Est-ce que gunicorn sélectionne automatiquement cette wsgi .py? Comment cela marche-t-il? (Je ne sais pas ce que wsgi fait). Ou dois-je spécifier quelque chose?

Répondre

2

Si vous avez gunicorn répertoriés dans INSTALLED_APPS du module de paramètres Django, la commande est:

python manage.py run_gunicorn 

Pas la commande que vous donnez.

+0

Merci de m'avoir signalé. C'était juste une faute de frappe. Cependant, ma question était de savoir comment gunicorn ramasse wsgy.py ..? – CIF

+0

Ce n'est pas le cas. Lorsque vous ajoutez 'gunicorn' à INSTALLED_APPS, il ajoute la commande de gestion run_gunicorn que vous exécutez et, autant que je sache, il ignore complètement le fichier wsgi.py. Le fichier wsgi.py est uniquement utilisé par les serveurs WSGI qui souhaitent un fichier de script WSGI direct. Techniquement, vous pouvez exécuter 'gunicorn wsgi: application' directement et éviter la commande de gestion, auquel cas vous l'utiliserez, mais vous devrez peut-être configurer des chemins supplémentaires dans PYTHONPATH pour l'environnement afin qu'il sache où trouver les choses. –

+0

Donc, vous dites avec gunicorn, nous n'avons pas besoin de wsgy.py? – CIF

1

J'ai gunicorn pour héberger mon site django et c'est le config details espère que c'est helpfull

+0

Pourquoi avons-nous besoin de nginx ici? Ne pouvons-nous pas lancer Gunicorn pour le port 80? peu confus pourquoi nous avons besoin d'un serveur supplémentaire entre. – CIF

+0

pourriez-vous expliquer quel est le bénéfice en utilisant nginx ici? – CIF

+0

gunicorn est un serveur HTTP/WSGI conçu pour servir les clients rapides ou les applications endormies. C'est-à-dire, derrière un serveur frontal de buffering tel que nginx – Rakesh

Questions connexes