nginx(二十八)nginx下载文件失败
一 缓冲区基础知识铺垫
① proxy_temp_path
'1'表示层级1的目录名为1个数字(0-9);'2'表示层级2目录名为2个数字(00-99)
+++++++++++'遗留问题'+++++++++++1) 存储时机-->'后端服务器response超出nginx侧的buffer配置',缓冲'存储不下'2) 如果使用'本地'存储,则要考虑该'目录'分区容量的大小,避免'磁盘不可写'
② proxy_buffering
proxy_uffering off 传输机制
③ proxy_buffers
1) 这个指令用于设置'从被代理服务器读取应答内容'的缓存区的'数目'和'大小'2) 数目可以'任意定',但是一个'缓存区的大小'一般就是'4k或者8k'
④ proxy_buffer_size
响应头太大报错
'nginx侧报错':'error日志'得到-->'upstream sent too big header' while reading response header from upstream'clinet端报错':client收到的是'502报错'根因: '后端服务器'返回给nginx的header'太大',超出了'预设'值
⑤ proxy_busy_buffers_size
⑥ proxy_temp_file_write_size
重点:写入'temp_file'的频率'或者'颗粒度
⑦ proxy_max_temp_file_size
重点: 当buffer缓冲区'超过proxy_buffers+proxy_buffer_size',然后通过'proxy_temp_file_write_size'频率就开始'刷写'磁盘
fastcgi同样引发上述的warn
⑧ proxy_connect_timeout
备注:如果代理服务器在此时间内'未返回'任何内容,nginx将'返回504'给'client'
⑨ proxy_read_timeout
proxied server --> "被代理服务器[后端服务器]"1. 该指令设置与代理服务器的'读超时'时间2. 它决定了'nginx会等待多长时间'来获得请求的响应3. 这个时间不是获得整个response的时间,而是'两次read操作'的时间补充: '后端发送'-->'nginx接收'场景;'nginx'主动关闭备注:nginx会等待多长时间来'获得'请求的响应
⑩ proxy_send_timeout
1. 这个指定设置了'发送请求'给'upstream服务器'的超时时间2. 超时设置'不是'整个发送期间,而是在'两次write操作'期间3. 如果'超时'后,upstream'没有收到'新的数据,nginx会'关闭'连接补充: 'nginx发送'-->'后端接收'场景;'后端'主动关闭
二 nginx反向代理下载文件失败处理
① 代理流程
+++++++++nginx作为一个"反向代理中间件",常见的代理流程为+++++++++1) 接收客户端'请求'2) 将请求'转发'到后端服务器3) 接收后端服务器的'响应'4) 再将响应'转发'给客户端备注:以上四步都可能'产生超时',解决nginx超时问题最关键时要知道是在'哪一步超时'了,然后再'调整'响应的参数
② 报错一
1)实验现象
+++++++++"现象"+++++++++1) 客户端下载文件时候,先到'代理nginx',然后nginx'找后端服务器'要文件。2) 在下载'1G以上大文件'时候总是'无法正确'下载,下载1G左右就停止了.
2)原理分析
3)根因分析
Nginx Buffer 机制引发的下载故障
记一次下载大文件存在数据异常问题排查
4)解决策略
说明: wget '下载大文件'可以看到'整个过程',最好'加上--limit-rate=限速'观察
wget -c 断点续传 未尝试过该方案
关于nginx支持断点续传的内容
nginx作为反向代理进行断点续传的一些注意事项
HTTP 请求头 Range http协议 Range、If-Range 辅助参考
③ 问题2:缓存目录不可写
说明: 这种'临时目录不可写'-->可能是'目录权限'问题;可能是'目录所在的分区'容量满了解决策略:修改'目录权限';热更新'扩容'分区
浏览器下载文件不全解决方法
nginx -t 的危险性
④ nginx日志相关时间解读补充
⑤ 补充:概念辨析
1)在HTTP协议中,'消息实体长度'和'消息实体的传输长度'是有区别2)比如说gzip压缩下,消息实体长度是'压缩前'的长度,消息实体的传输长度是'gzip压缩后'的长度
⑥ 数据下载传输原理
nginx(二十八)nginx下载文件失败相关推荐
- linux chattr 无权限,从零开始学习Linux(二十八):文件权限之chattr权限
1.chattr命令 命令格式: chattr [+-=] [选项] 文件名或者目录名: 参数说明: +:增加权限: -:删除权限: = 等于某权限: 选项说明: i:如果对文件设置i属性,则不允许对 ...
- 小甲鱼《零基础学习Python》课后笔记(二十八):文件——因为懂你,所以永恒
测试题 0.下边只有一种方式不能打开文件,请问是哪一种,为什么? f = open('E:/test.txt','w') # A f = open('E:\test.txt','w') # B f = ...
- nginx反向代理下载文件失败处理
最近遇到了客户在从我们的服务器下载文件失败时的情况.然后把解决方案一并整理一下以备后续.需要说明的是,我们前端都是使用nginx来做反向代理,后面的逻辑处理采用php的方式. 1.缓存目录不可写 ng ...
- WCF技术剖析之二十八:自己动手获取元数据[附源代码下载]
WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 原文:WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 元数据的发布方式决定了元数据的获取行为,WCF服务元数据架构体系通过Ser ...
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤...
JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...
- 2021年安全生产工作总结及2022年思路计划(二十八篇)PPTX(附下载)
摘要:2021年安全生产工作总结及2022年思路计划(二十八篇) 公众号:安全生产星球
- (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例
Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21 我要评论 这篇文章主要介绍了Android项 ...
- OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope
OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...
最新文章
- 特斯拉FSD车端感知解析
- 计算机网络---个人笔记整理
- 看!那全球最伟大的人工智能女性科学家们!
- 还有王法吗?美国联邦调查局开发人脸识别系统,数据源涉及公民隐私
- 投资学习网课笔记(part6)--基金第六课
- DVS/DVR常见的监控名词
- Equations HDU - 1496(哈希或三层for循环)求满足公式有多少种情况
- 将你的Vim 打造成轻巧强大的IDE
- 便利蜂发布《白领早餐报告》:仅5成白领每天吃早餐
- Mysql数据备份与mysqldump增量备份
- 第四百零四天 how can I 坚持
- 使用Jflash给华大半导体的MCU烧录程序
- Lambda表达式与Stream
- 0033__PDM,全称为 Persepolis Download Manager
- Android重启App
- Bigwig 可视化用 tackPlotR 试试看?
- 在计算机术语中 将ALU控制器和,计算机组成原理试管理-题集
- 【Ubuntu】【Linux】命令卸载软件
- 40篇最受网友欢迎的web前端HTML精选文章合集
- ros构建机器人运动学模型_ROS环境下机器人仿真模型构建方法研究.doc
热门文章
- 张一鸣:我用排除法选工作和择偶
- 通信系统中dB、dBm、dBFS、dBi的含义
- 测试如何保证产品质量/如何保障测试效率?
- 几款免费在线甘特图工具
- 数据集标注文件JSON格式简析
- DataGrip 2022.2.2 Unknown column ‘generation_expression‘ in ‘field list‘
- 软甲架构设计软件_几种常用软件架构设计指南
- 正则表达式过滤url请求
- 遭遇战(特长生准备)
- 删除`BST`的节点