我在prod.py
中有SECRET_KEY = os.environ['SECRET_KEY']
,并且在我的.bashrc
中有SECRET_KEY=secret_string
。这会导致502错误,但如果我设置SECRET_KEY="secret_string"
,它就可以工作。如何使用环境变量来解决这个问题?
我通过sudo service gunicorn restart
启动gunicorn,并且有一个upstart脚本。
下面是cat /proc/<PID>/environ
的输出:
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin^@TERM=linux^@UPSTART_JOB=gunicorn^@UPSTART_INSTANCE=^@
export
并且source
了.bashrc
,但是当我重新启动 gunicorn 时它仍然不起作用。 - sac7e.bashrc
只影响 bash 登录 shell。你是从你的 shell 启动 gunicorn 吗? - Andrea CorbelliniDJANGO_SETTINGS_MODULE
环境变量?请参考https://docs.djangoproject.com/en/1.9/topics/settings/#envvar-DJANGO_SETTINGS_MODULE。 - Shang Wangos.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.prod")
。 - sac7esource ~/.bashrc
。那应该可以工作。 - Shang Wang