设置环境变量 - nginx + uWSGI

4

我希望能够在Flask应用程序中访问环境变量(如密码等)。

我正在运行nginx和uWSGI。正确设置它们以使它们可用的位置是哪里?

我应该只是将uwsgi_param PARAM_NAME 'param_value';行添加到站点配置中(位于/etc/nginx/sites-enabled/mysite中)吗?

1个回答

4

比如在uwsgi_pass附近,例如:

    location / {
            uwsgi_pass              unix:///tmp/uwsgi.sock;
            include                 uwsgi_params;

            uwsgi_param             UWSGI_SCRIPT            webapp;
            uwsgi_param             UWSGI_CHDIR             /usr/local/www/app1;
    }

谢谢!那个方法很好用。如果我有一个带有 $ 的变量,似乎无论我是否用单引号括起来,它都不喜欢它。使用类似 uwsgi_param SOME_PARAM 'abc$123'; 这样的东西是不可能的吗? - okoboko
我不确定,但可能必须工作。或者尝试使用uwsgi_param SOME_PARAM abc$123; - mr_tron
这个好像没法工作... 有什么想法为什么不行的话请告诉我。我没有使用 Flask,只是 nginx 和 uwsgi。当 Python 脚本执行时,os.environ 中没有传递的 uwsgi_params 显示出来(现在它只显示环境)。 - jcomeau_ictx
1
没关系,我应该在Python应用程序的参数中使用env而不是os.environ。傻了。谢谢。 - jcomeau_ictx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接