糖 分 2020-12-30 15:56 采纳率: 50%
浏览 1205
已采纳

向Nginx服务器发送大文件传输失败502 failed (32: Broken pipe)

报错如下:

*901 sendfile() failed (32: Broken pipe) while sending request to upstream,

12M的都可以发送,2G的不行,发几分钟就会断
 

django ,rest framework,gunicore,nginx

nginx也配置了相关参数如下:
 

sendfile on;
send_timeout 60m;
keepalive_timeout 65s;
client_max_body_size 5120m;
client_body_timeout 3600s;

奇怪的是我们也没有配置upstream模块呀,到底是什么问题呢?

来不及做分片上传了,此方案暂不考虑。

  • 写回答

1条回答 默认 最新

  • 后端工匠之道 2020-12-31 11:59
    关注

    你是将文件上传到nginx服务器是吗?

    也就是吧nginx用作为文件服务器是吗?

    首先设置client_max_body_size这个是nginx配置的上传文件的最大值设置。

    其次是你上传文件的框架,或者你的程序是否支持大文件上传,nginx代理到哪个位置,如果是web端,也需要支持2G以上的文件上传才行,

    在B/S架构里不建议上传或者下载过大文件,时间长等待时间浪费资源。

    建议上传下载使用文件流的方式进行传输,

    检测设备是否IO操作过大导致502错误,内存溢出等不具备文件操作的情况!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘