我建立了一个基本的网站,但在如何处理静态文件服务方面遇到了一些困惑。我注意到,要提供静态文件服务,我唯一要做的就是在 nginx 配置中设置 gunicorn 的代理。
location / {
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
仅通过这个并通过 gunicorn 运行我的应用程序,gunicorn myapp:app
我就可以从静态文件夹目录中提供静态文件,并且只能从静态文件夹目录中提供静态文件。我猜这是有效的,因为来自 flask 的某些东西说要提供此目录中的所有文件?(开发服务器也没有运行,app.run() 被注释掉了)
所以我的问题是如何阻止 nginx 自动提供这些文件。我想为每种类型的文件(视频、图像、css/html/js 等)使用自己的位置块来提供这些文件。这样它们就能以正确的设置提供服务。
为了澄清:website.com/static/css/test.css
两者website/css/test.css
都提供相同的文件,第一个是自动提供的,第二个是我使用位置块提供的
location /css/ {
#other setting
root /home/app/static/;
}
我不需要website.com/static/css/test.css
提供任何服务。我只希望从我定义的位置块提供服务。