Flask + Nginx代理:谁负责提供静态文件有区别吗?
我有一个Flask应用程序,前面有一个配置好的nginx服务器,它负责把一些请求转发给Flask。
我想问的是,nginx直接提供静态文件和Flask提供静态文件在性能上有没有区别?如果有,是什么原因造成的差别?
当nginx把请求转发给Flask时,nginx在缓存或者其他方面真的有帮助吗,还是说它只是单纯地转发请求?
谢谢,祝好!
1 个回答
3
是的,这个算数。
nginx
是用 C 语言写的,能够处理网页服务器需要处理的所有静态文件。
除了速度快之外,它还能减轻你 Python 代码的负担。
关于缓存,如果你愿意的话,nginx
还可以作为你应用的缓存,具体可以参考 NGINX 文档。不过如果请求需要由 Flask 处理,nginx
除了帮你提供静态文件外,其他方面并不会加快处理速度。
在开发应用时,配置 nginx
来处理静态文件可能不是必要的,但在正式使用时,我会推荐这样做。