Django,Gunicorn和Settings Dir

时间:2014-11-11 21:26:15

标签: python django nginx gunicorn

我重构了一个已经部署(并运行得很好)的Django项目,以使用设置目录而不是settings.py文件。项目结构如下所示:

project/
    app1/
    app2/
    project/
        settings/
            __init__.py
            base.py
            production.py

服务器已停止工作。我收到了502错误。我相信这是因为gunicorn再也找不到设置文件了。我已经尝试将我的wsgi文件更改为使用生产而不是设置。

wsgi.py

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings.production")

production.py

from .base import *
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ["site.com", "ip"]

base.py几乎默认使用一些静态和媒体路由。

问题

如何告诉gunicorn我的新文件夹结构,以便它知道要运行的正确设置文件。

修改

Upstart错误:gunicorn: Worker failed to boot.

第二个错误:Import Error: No module named project.wsgi

1 个答案:

答案 0 :(得分:1)

似乎您在wsgi.py中的设置无法正常工作。您可以尝试指定设置模块:

在您的项目目录dir(包含manage.py的目录)下,使用以下命令运行gunicorn:

gunicorn --env DJANGO_SETTINGS_MODULE=settings.production [project_name].wsgi

将[project_name]替换为您自己的。

它对我有用。