2012-08-22 219 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