NGINX + Flask + UWSGI静态文件和权限

时间:2014-08-22 20:46:11

标签: python nginx flask uwsgi

我的NGINX配置非常简单,如http://flask.pocoo.org/docs/0.10/deploying/uwsgi/#starting-your-app-with-uwsgi

所述
location / { try_files $uri @yourapplication; }
location @yourapplication {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/uwsgi.sock;
}

我知道您可以将以下内容添加到相同的配置中:

location /static {
   root /var/www;
}

然后NGINX将处理文件夹static/中的所有内容但是,有时需要它位于根目录www.example.com/robots.txt www.example.com/favicon.ico中,依此类推。对于上述问题,什么是合适的解决方案?我刚刚从PHP移开,并且非常不熟悉基于Python的平台。

此外,它似乎仅在我手动启动服务器时有效; uwsgi -s /tmp/uwsgi.sock -w my_app:app --chown-socket=www:www

在启动时自动执行此操作的适当方法是什么?希望这个问题足够清楚..

1 个答案:

答案 0 :(得分:1)

对于几个单独的文件,您可以在nginx配置中执行以下操作:

location /**<your-filename-here>** { alias **<absolute-path-to-file>**; }

示例:

location /robots.txt { alias /var/www/static/robots.txt; }