我在ec2实例的环境变量中设置了一些用户名,密码和其他配置。我创建了一个virtualenv设置,并且运行我的django服务器。在该django服务器的设置文件中,我以os.environ ['variable']的形式访问环境变量。mod_wsgi在virtualenv中找不到环境变量
在virtualenv之外,网站可以很好地访问这些变量。当我运行printenv时,我看到所有的变量和值。
但是,服务器无法找到他们,并抛出键错误,结果当我打电话os.environ他们。
设置= EC2实例 - mod_wsgi的 - nginx的 - 阿帕奇
UPDATE 这开始通过下列方式设置变量django.wsgi工作。
os.environ['SQL_PASSWORD'] = 'password'
一旦我升级到新的ec2硬件,独自停止工作。我不确定这是如何相关的。
现在,什么工作终于被单独设置变量,Apache的配置文件使用SETENV。仍然不是最优的,因为我必须在生产机器上检查配置文件,但它会阻止我。
SetEnv SQL_PASSWORD password
当您运行printenv时,您是否拥有virtualenv活动? – Marcin
是的,据我所知,它是活跃的。 –
shell提示符是这样说的。 –