我試圖在環境變量中設置我的django「SECRET_KEY」。如何設置nginx的環境變量來讀取?
對於環境,我使用virtualenv + virtualenvwrapper。
後我輸入
workon mydomain.com
我輸入
export SECRET_KEY=xxxxxx
當我嘗試做
echo $SECRET_KEY
我讓我的值(XXXXXX)
到目前爲止好。但是當我嘗試在瀏覽器中訪問我的網站時(使用ngnix和gunicorn),我得到一個錯誤。
這裏是我的gunicorn
[program:gunicorn]
directory = /home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/
command=/home/<USER>/.virtualenvs/<DOMAIN>/bin/gunicorn <PROJECT>.wsgi:application -c /home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/<APP>/gunicorn_conf.py
user = <USER>
這裏supervisord劇本是我gunicorn_conf.py:
bind = "127.0.0.1:8000"
logfile = "/home/<USER>/logs/gunicorn.log"
這裏是我的settings.py:
def get_env_variable(var_name):
try:
return os.environ[var_name]
except KeyError:
error_msg = "Set the %s environment variable" % var_name
raise ImproperlyConfigured(error_msg)
SECRET_KEY = get_env_variable("SECRET_KEY")
如何正確地做我設置我的環境變量,讓ngnix可以讀取它?
編輯:回溯:
Traceback (most recent call last):
File "/home/<USER>/.virtualenvs/<DOMAIN>/local/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 125, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/home/<USER>/.virtualenvs/<DOMAIN>/downloads/django-trunk/django/core/handlers/wsgi.py", line 236, in __call__
self.load_middleware()
File "/home/<USER>/.virtualenvs/<DOMAIN>/downloads/django-trunk/django/core/handlers/base.py", line 46, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/home/<USER>/.virtualenvs/<DOMAIN>/downloads/django-trunk/django/conf/__init__.py", line 53, in __getattr__
self._setup(name)
File "/home/<USER>/.virtualenvs/<DOMAIN>/downloads/django-trunk/django/conf/__init__.py", line 48, in _setup
self._wrapped = Settings(settings_module)
File "/home/<USER>/.virtualenvs/<DOMAIN>/downloads/django-trunk/django/conf/__init__.py", line 126, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/home/<USER>/.virtualenvs/<DOMAIN>/downloads/django-trunk/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/<APP>/settings/staging.py", line 2, in <module>
from .base import *
File "/home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/<APP>/settings/base.py", line 40, in <module>
SECRET_KEY = get_env_variable("SECRET_KEY")
File "/home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/<APP>/settings/base.py", line 31, in get_env_variable
raise ImproperlyConfigured(error_msg)
ImproperlyConfigured: Set the SECRET_KEY environment variable
什麼是你的錯誤?你能顯示堆棧跟蹤嗎? – karthikr
添加了錯誤的追溯。 –