【问题标题】:Django: What is the difference between manage.py and gunicorn project.wsgiDjango:manage.py 和 gunicorn project.wsgi 有什么区别
【发布时间】:2013-11-13 14:11:40
【问题描述】:

我部署了一个 django 项目,在 manage.py 上一切正常,但是当我通过 gunicorn projectname.wsgi 运行默认的 gunicorn 服务器时,无法提交注册表并且出现 502 Bad Request Error。

有什么想法吗?

【问题讨论】:

  • 检查您的服务器日志。
  • 你能给我更多的线索吗?我在服务器上使用 nginx,并且查看了设置为调试的错误日志。难道 manage.py 不应该使用与 gunicorn 相同的 wsgi 配置(来自自动创建的 wsgi.py)吗?
  • manage.py 没有使用wsgi.py。 Gunicorn 可以。当您使用 gunicorn 运行时,必须有一些 gunicorn(不是 nginx)的日志。
  • 我发现了我的特殊问题,但我认为 manage.py runserver 使用了设置 wsgi_application 中指定的 wsgi。开发文档这样说docs.djangoproject.com/en/dev/ref/django-admin 有变化吗?
  • 如果您想通了,请回答您自己的问题,以便其他遇到类似问题的人获得帮助。关于manage.py:我不确定您使用的是哪个 django 版本,但在 1.5 中他们还没有这样做(只能在最新的开发文档中找到,但在 1.5 文档中找不到)。我还挖掘了 django 源代码,manage.py 绝对不使用WSGI_APPLICATION 设置或wsgi.py 脚​​本。这可能在 Django 1.6 中发生了变化(我刚刚发现它是几天前发布的:P)。

标签: django gunicorn manage.py


【解决方案1】:

manage.py runserver 似乎会自动启动 celery worker,而 gunicorn.wsgi 不会。引导所有工作人员解决了问题。

感谢cmets!

【讨论】:

    猜你喜欢
    • 2012-05-30
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    • 2011-11-22
    • 2015-03-26
    相关资源
    最近更新 更多