一起使用 django 和 gunicorn 时更改设置文件

Sae*_*ili 0 python django gunicorn

我已经使用本教程部署了我的 Django 项目,并且运行良好。

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

my_project/
    manage.py
    my_project/
       __init__.py
       urls.py
       wsgi.py
       settings/
           __init__.py
           base.py
           dev.py
           prod.py
Run Code Online (Sandbox Code Playgroud)

base.py是同前settings.py(即是工作的罚款)。我导入base.py并添加了DEBAG=FalseALLOWED_HOSTSprod.py.

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

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
Run Code Online (Sandbox Code Playgroud)

Kam*_*mil 5

您可以设置DJANGO_SETTINGS_MODULE环境变量,对于这一点,提到这里

因此,您可以尝试添加以下内容:

Environment="DJANGO_SETTINGS_MODULE=my_project.settings.prod"
Run Code Online (Sandbox Code Playgroud)

[Service]部分。