我使用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=False
和ALLOWED_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
答案 0 :(得分:3)
您可以为此设置DJANGO_SETTINGS_MODULE
环境变量,如上所述here。
所以你可以尝试添加类似的东西:
Environment="DJANGO_SETTINGS_MODULE=my_project.settings.prod"
到[Service]
部分。
答案 1 :(得分:0)
问题是项目目录中的settings.pyc
文件。删除该文件,解决了问题。