将django和gunicorn放在一起时更改设置文件

时间:2017-06-24 19:43:42

标签: python django gunicorn

我使用this tutorial部署了我的Django项目,它运行正常。

现在,我想拆分设置文件,并在开发和生产环境中进行多项设置。我创建了一个settings目录并将这些文件添加到目录中:

my_project/
    manage.py
    my_project/
       __init__.py
       urls.py
       wsgi.py
       settings/
           __init__.py
           base.py
           dev.py
           prod.py

base.py与之前的settings.py相同(工作正常)。我导入base.py并将DEBAG=FalseALLOWED_HOSTS添加到prod.py

如何通过prod设置告诉gunicorn运行我的应用程序?

基于本教程的gunicorn.service文件是这样的:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=sammy
Group=www-data
WorkingDirectory=/home/sammy/myproject
ExecStart=/home/sammy/myproject/myprojectenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/sammy/myproject/myproject.sock myproject.wsgi:application

[Install]
WantedBy=multi-user.target

2 个答案:

答案 0 :(得分:3)

您可以为此设置DJANGO_SETTINGS_MODULE环境变量,如上所述here

所以你可以尝试添加类似的东西:

Environment="DJANGO_SETTINGS_MODULE=my_project.settings.prod"

[Service]部分。

答案 1 :(得分:0)

问题是项目目录中的settings.pyc文件。删除该文件,解决了问题。