django – 如何设置nginx读取的环境变量?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了django – 如何设置nginx读取的环境变量?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2900字,纯文字阅读大概需要5分钟。
内容图文
![django – 如何设置nginx读取的环境变量?](/upload/InfoBanner/zyjiaocheng/965/4b96698f3f37442eb74a5d06a5ba1f44.jpg)
我试图在环境变量中设置我的django“SECRET_KEY”.
我使用virtualenv virtualenvwrapper环境.
我输入后
workon mydomain.com
我输了
export SECRET_KEY=xxxxxx
当我尝试做的时候
echo $SECRET_KEY
我得到了我的价值(xxxxxx)
到现在为止还挺好.但是当我尝试在浏览器中访问我的网站时(使用ngnix和gunicorn)我收到了一个错误.
这是我的gunicorn的supervisord脚本
[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>
这是我的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
解决方法:
您可以使用指令环境= VAR1 =< VAR1>,VAR2 =< VAR2>来定义管理程序配置内的环境变量.
像这样的东西:
[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>
environment=SECRET_KEY=<SECRET_KEY>
内容总结
以上是互联网集市为您收集整理的django – 如何设置nginx读取的环境变量?全部内容,希望文章能够帮你解决django – 如何设置nginx读取的环境变量?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。