我的nginx的conf:如何讓env_vars nginx的UWSGI_SETENV在uwsgi
location/{
include uwsgi_params;
uwsgi_param UWSGI_PYHOME /usr;
uwsgi_pass unix:/var/run/uwsgi-python/uwsgi/socket;
uwsgi_param UWSGI_CHDIR /var/www/my_site;
uwsgi_param UWSGI_SCRIPT my_site:app;
uwsgi_param SERVER_NAME my_site;
uwsgi_param UWSGI_SETENV DEPLOY_VERSION=Development;
}
我uwsgi段:
/usr/local/bin/uwsgi --master --processes 2 --logdate --chmod-socket=666 --uid www --gid www --limit-as 512 --harakiri 60 --max-requests 1000 --no-orphans —-reload-os-env --daemonize /var/log/uwsgi-python/uwsgi.log --pidfile /var/run/uwsgi-python/uwsgi/pid --socket /var/run/uwsgi-python/uwsgi/socket --xmlconfig /etc/uwsgi-python/apps-enabled/uwsgi.xml
uwsgi XML:
<uwsgi>
<master/>
<vhost/>
<memory-report/>
<no-site/>
</uwsgi>
在我的燒瓶應用
print os.environ.get('DEPLOY_VERSION', 'NONE') #pring NONE
我如何獲得env_vars?
也許我不能得到通過UWSGI_SETENV的env_vars設置在<虛擬主機/ > <沒有現場/ >模式?
btw:如何在沒有虛擬env的一臺機器上部署多版本(開發/測試版/發行版)的應用程序?
確實;你可能*不能*爲nginx的uwsgi設置環境變量;因爲nginx並不實際啓動uwsgi,(uwsgi必須已經運行),所以沒有真正的選項來設置它們。 – SingleNegationElimination
這是一個很好的觀點。 – corford
@TokenMacGuy哦,好點,謝謝! – linnchord