Mi proyecto está basado en Django, Nginx, Gunicorn y Supervisor en un entorno Virtual.
Exporto variables ambientales al final del script ./bin/activate . Cada vez que source el archivo de activación, exporta variables ambientales. Es genial...
Mi problema surge cuando inicio el script de Supervisor. Parece que ./bin/activate no se obtiene porque Django no puede obtener variables como SECRET_KEY.
Escuché a personas que usan un script de activación posterior que no está presente en mi directorio bin virtualenv. ¿Me estoy perdiendo algo importante? ¿Por qué Supervisor no obtiene el script ./bin/activate ?
Aquí está la conferencia de mi supervisor:
command=/opt/.virtualenvs/plcweb/bin/gunicorn plcweb.config.wsgi -c /opt/plcweb/gunicorn.conf.py directory=/opt/plcweb/project user=bastien autostart=true autorestart=true redirect_stderr=True stdout_logfile=/opt/plcweb/gunicorn.log stderr_logfile=/opt/plcweb/gunicorn.logComo se explica aquí , tiene una solución muy simple con la directiva environment . Entonces, para exportar DJANGO_SETTINGS_MODULE, el archivo de configuración del supervisor debe ser el siguiente:
command=/opt/.virtualenvs/plcweb/bin/gunicorn plcweb.config.wsgi -c /opt/plcweb/gunicorn.conf.py environment=DJANGO_SETTINGS_MODULE=my_project.settings.production directory=/opt/plcweb/project user=bastien