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

向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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀