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 个回答
1
对于一些单独的文件,你可以在你的nginx配置中直接这样做:
location /**<your-filename-here>** { alias **<absolute-path-to-file>**; }
举个例子:
location /robots.txt { alias /var/www/static/robots.txt; }