深入浅出 -- 系统架构之负载均衡Nginx大文件传输配置

一、Nginx大文件传输配置

在某些业务场景中需要传输一些大文件,但大文件传输时往往都会会出现一些Bug,比如文件超出限制、文件传输过程中请求超时等,那么此时就可以在Nginx稍微做一些配置,先来了解一些关于大文件传输时可能会用的配置项:

配置项 释义
client_max_body_size 设置请求体允许的最大体积
client_header_timeout 等待客户端发送一个请求头的超时时间
client_body_timeout 设置读取请求体的超时时间
proxy_read_timeout 设置请求被后端服务器读取时,Nginx等待的最长时间
proxy_send_timeout 设置后端向Nginx返回响应时的超时时间

在传输大文件时,client_max_body_size、client_header_timeout、proxy_read_timeout、proxy_send_timeout这四个参数值都可以根据自己项目的实际情况来配置。

上述配置仅是作为代理层需要配置的,因为最终客户端传输文件还是直接与后端进行交互,这里只是把作为网关层的Nginx配置调高一点,调到能够"容纳大文件"传输的程度。

当然,Nginx中也可以作为文件服务器使用,但需要用到一个专门的第三方模块nginx-upload-module,如果项目中文件上传的作用处不多,那么建议可以通过Nginx搭建,毕竟可以节省一台文件服务器资源。但如若文件上传/下载较为频繁,那么还是建议额外搭建文件服务器,并将上传/下载功能交由后端处理。

相关推荐
z***56562 小时前
Nginx实现接口复制
运维·nginx·junit
云和数据.ChenGuang7 小时前
mysqld.service is not a native service问题解决!
运维·nginx·运维技术·运维工程师技术
Altair12318 小时前
nginx的https的搭建
运维·网络·nginx·云计算
记得记得就15118 小时前
【Nginx 性能优化与防盗链】
运维·nginx·性能优化
a***59261 天前
用nginx正向代理https网站
运维·nginx·https
丸子哥哥1 天前
同一个域名,如何添加多个网站?
服务器·前端·nginx·微服务
p***q781 天前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
q***69771 天前
RabbitMQ HAProxy 负载均衡
rabbitmq·负载均衡·ruby
r***F2621 天前
若依部署Nginx和Tomcat
运维·nginx·tomcat