我在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提示符是這樣說的。 –