2012-08-22 240 views
2

這可能是一個很愚蠢的問題;我正在嘗試使用Gunicorn部署Django應用程序。不過,我剛剛創建wsgi.py它看起來像下面(wsgi.py是我的根項目文件夾):Django WSGI和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) 

,現在我跑:

python manage.py run_gunicorn 

會自動Gunicorn拿起這個WSGI的.py?這個怎麼用? (不知道wsgi在做什麼)。或者我需要指定一些東西?

回答

2

如果您gunicorn在Django設置模塊的INSTALLED_APPS上市,命令是:

python manage.py run_gunicorn 

不是你給的命令。

+0

謝謝指出。這只是一個錯字。但是,我的問題是gunicorn如何撿起wsgy.py ..? – CIF

+0

它沒有。當你將'gunicorn'添加到INSTALLED_APPS時,它會添加運行它的run_gunicorn管理命令,並且據我所知它完全忽略了wsgi.py文件。 wsgi.py文件僅用於需要直接WSGI腳本文件的WSGI服務器。您可以直接在技術上運行'gunicorn wsgi:application',並避免管理命令在這種情況下使用它,但是您可能必須在PYTHONPATH中爲環境設置額外路徑,以便知道在哪裏找到內容。 –

+0

所以你說的是gunicorn,我們不需要wsgy.py? – CIF

1

我Gunicorn主辦我的Django的網站,這是config details希望這是有益的

+0

爲什麼我們在這裏需要nginx?我們不能爲80港口運行gunicorn嗎?有點困惑爲什麼我們需要額外的服務器。 – CIF

+0

你能解釋一下在這裏使用nginx有什麼好處嗎? – CIF

+0

gunicorn是一個HTTP/WSGI服務器,旨在服務於 快速客戶端或睏倦的應用程序。也就是說,在 緩衝前端服務器,如nginx – Rakesh