简体   繁体   中英

Gunicorn Service Environment File Format?

I'm deploying a Django project on an ubuntu machine using gunicorn and nginx, following this tutorial to do it.

I have a gunicorn service that looks like this, similar to the one in the tutorial:

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

[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/project/mysite
EnvironmentFile=/home/ubuntu/.virtualenvs/projectenv/bin/postactivate
ExecStart=/home/ubuntu/.virtualenvs/projectenv/bin/gunicorn --access-logfile - --workers 10 --bind unix:/home/ubuntu/project/mysite.sock mysite.wsgi:application

[Install]
WantedBy=multi-user.target

Since, as I understand, the gunicorn service is run in a completely new environment instead of my project's virtual environment I need to find another way to pass it environment variables. I found this page which says I can add an EnvironmentFile to my service file, which I did above.

I directed the environment file to my virtualenv's postactivate script, which looks something like this:

#!/bin/bash
# This hook is sourced after this virtualenv is activated.

export DJANGO_DEBUG=False
...

Which doesn't work, unsurprisingly.

What is the correct format for this EnvironmentFile to be in?

You just need to pass something like:

DJANGO_DEBUG=False
PYTHON_PATH=:bla

documentation here

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM