在我的wsgi.py
我有条件地将DJANGO_SETTINGS_MODULE
设置为两个不同的文件(本地和制作)。
在服务器上我设置了#34; PROD" /etc/profile
if "PROD" in os.environ:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
else:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings_dev")
但是,我仍然收到错误,因为没有设置正确的设置文件。也许如果条件不起作用。见下图。
我的gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/home/myproject/myproject
ExecStart=/usr/local/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/myproject/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
答案 0 :(得分:0)
您应该以这种方式在Gunicorn配置中设置PROD
环境变量:
[Service]
environment=PROD=True
User=root
Group=www-data
WorkingDirectory=/home/myproject/myproject
ExecStart=/usr/local/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/myproject/myproject/myproject.sock myproject.wsgi:application
//编辑:我忽略了你在/etc/profile
中设置ENV var ...你可以尝试我的解决方案,否则我会删除我的答案。
答案 1 :(得分:0)
您可以在Gunicorn.service
文件中设置环境变量。 Gunicorn可以从那里访问它。
[Service]
...
ExecStart=/virtuall_env_path/bin/gunicorn --workers 3 --bind
unix:/path_to_myproject.sock
myproject.wsgi:application -e my_var=value -e my_var2=value2
...