Nginx 服务器上传大文件经常中断的解决方法
🕝 by pyList at 2014-01-07 13:39
当上传大的文件时经常中断后重头再传或上传超时,原因是nginx对上传文件大小有限制,而且默认是1M,超时时间默认为60秒。
若上传文件很大如50m或网络很慢,还要适当调整上传超时时间。
Nginx 有两个参数需要调整或添加:
client_max_body_size 100M;
client_body_buffer_size 512k;
参数解释
- client_max_body_size 默认 1M,表示 客户端请求服务器最大允许大小,在“Content-Length”请求头中指定。如果请求的正文数据大于client_max_body_size,HTTP协议会报错 413 Request Entity Too Large。就是说如果请求的正文大于client_max_body_size,一定是失败的。如果需要上传大文件,一定要修改该值。
- client_body_buffer_size 缓冲区代理缓冲用户端请求的最大字节数,设置不能太大,也不能太小,传输的数据大于 client_max_body_size,一定是传不成功的。小于client_body_buffer_size 直接在内存中高效存储。如果大于 client_body_buffer_size 小于 client_max_body_size 会存储临时文件,临时文件一定要有权限。 如果追求效率,就设置 client_max_body_size client_body_buffer_size 相同的值,这样就不会存储临时文件,直接存储在内存了。
关于超时的设置
proxy_connect_timeout 60s;
proxy_read_timeout 1m;
proxy_send_timeout 1m;
- client_body_timeout # 读取请求实体的超时时间,若超过所设定的大小,返回413错误
- proxy_connect_timeout # http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒
- proxy_read_timeout # http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒
- proxy_send_timeout # http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒
把它们酌情增大。
本文网址: https://pylist.com/t/1389073172 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
发表第一条评论!
相关推荐
小工具
标签
国外
vps
nginx
反向
访问
wangeditor
tornado
上传
例子
完整
upload
lua
openresty
resty
comet
推送
服务器
技术
自动更新
程序
文件
判断
不同
缓存
禁用
静态
python
路径
获取
运行
go
web
性能
csv
读写
标准
md5
正确
计算
bbr
openwrt
路由
开启
百度
google
pk
三大
必应
json
解析
测试
速度
ubuntu
gnu
debian
linux
安装
修砖记
变砖
ubnt
er
tftp
轻量级
sae
博客
一款
ulimit
永久
设置
系统
之坑
files
golang
open
服务
js
全屏
浏览器
方法
实现
caddy
https
部署
网站
多个
spotify
chartify
开源
图表
tcpclient
4.0
客户端
简化
搜索引擎
网址
提交
主动
经验
ssdb
论坛
聊天室
redis
websockets
chat
failed
load
devtools
sourcemap
chrome
microsoft
mac
关闭
app
store
登录
未知
静音
风扇
主机
笔记本
改造
低功耗
爬虫
组装
微信
尝鲜
视频
体验
cpu
查看
温度
server
浏览
身份验证
authenticator
迁移
手机
webdriver
微博
selenium
系统启动
usb
固件
编译
宅家
坑记
屏幕
动手
硬件加速
quic
抢先
最近发表
- Chrome 控制台 DevTools failed to load SourceMap 警告的消除方法
- Mac 关闭 Microsoft 自动更新
- Mac 登录 App Store 出现“发生了未知错误”的解决方法
- 老笔记本改造为无风扇静音主机方案
- 自己组装21瓦低功耗家庭爬虫、文件、web服务器
- 微信视频号尝鲜体验
- Ubuntu/Debian 查看CPU温度的方法
- 在Ubuntu/debian Server 系统使用Chrome 无头浏览模式
- 换手机后 Google 身份验证器 Google Authenticator 数据迁移的简单方法
- 使用Golang selenium WebDriver 自动登录微博
- 在 Ubuntu 或其它 GNU/Linux 系统下安装 Debian
- Mac 下制作 USB ubuntu/debian 系统启动、安装盘的几种方法
- ubuntu/debian 下自行编译 OpenWRT 固件
- 宅家自己动手换手机屏幕掉坑记
- 路由 UBNT ER-X 官方固件升级及开启硬件加速的方法
- 在 Nginx 和 Golang web 上抢先体验 QUIC
最近浏览
- Openwrt 路由上开启BBR
- 神奇:google、必应、百度三大翻译PK,百度出奇制胜!
- go json 解析速度测试
- 在 Ubuntu 或其它 GNU/Linux 系统下安装 Debian
- UBNT ER-X 变砖 tftp 修砖记
- 一款轻量级的基于SAE Python的博客诞生了
- Linux 系统永久设置ulimit
- Golang 服务之坑:too many open files
- js实现浏览器全屏方法
- 使用caddy 快速部署多个https 网站
- Spotify开源的Python图表生成库chartify
- tornado 4.0 的tornado.tcpclient 简化客户端操作
- 向各搜索引擎主动提交网址的经验
- golang 计算大文件md5
- 基于SSDB 的轻论坛
- Tornado+websockets+Redis+Chat+nginx多进程聊天室