Linux 怎么配置 Nginx 支持大文件的分片下载与断点续传

梦涛吖_5647

梦涛吖_5647

2026-09-02

533人浏览

原创

nginx支持大文件断点续传的核心是正确响应http range请求并返回206状态,需启用range模块、禁用max_ranges 0、避免slice指令、开启sendfile、添加accept-ranges头、禁用range请求的gzip压缩,并在反代场景透传range头及绕过缓存。

linux 怎么配置 nginx 支持大文件的分片下载与断点续传

Linux 下配置 Nginx 支持大文件分片下载与断点续传,核心不是“让 Nginx 主动分片”,而是确保它能正确响应标准 HTTP Range 请求、不干扰 206 响应、并稳定服务超大文件。Nginx 本身不管理下载状态或客户端进度,只负责按需返回字节范围——真正的分片与续传由客户端(如浏览器、aria2c、curl -C -)驱动。

确认并启用原生 Range 支持

Nginx 1.1.3+ 默认开启 range 模块,但需检查未被意外禁用:

  • 删除或注释掉配置中类似 max_ranges 0; 的语句(它会彻底关闭 Range 功能)
  • 避免在静态文件 location 中使用 slice 指令(如 slice 1m;),除非你明确要做 HLS/DASH 动态切片;普通断点下载无需 slice
  • 确保 sendfile on; 启用(对大文件传输更高效),若遇到小文件 206 异常可临时关掉测试

静态文件服务:直接提供 MP4/ZIP 等大文件

当 Nginx 直接读取磁盘文件(用 root 或 alias),无需代理,天然支持 206:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 显式添加响应头:add_header Accept-Ranges bytes;(推荐,增强客户端识别)
  • 禁用对 Range 请求的 gzip 压缩:gzip_disable "range";(否则可能破坏 Content-Range)
  • 避免 gzip on; 对大二进制文件生效,或单独为视频/压缩包类型关闭压缩

反向代理场景:后端是 PHP/Node.js 等应用

若文件由后端动态生成或校验(如鉴权下载),必须透传 Range 头并绕过缓存:

  • 透传请求头:proxy_set_header Range $http_range; 和 proxy_pass_request_headers on;
  • 强制跳过缓存:proxy_cache_bypass $http_range; 和 proxy_no_cache $http_range;
  • 禁止缓存 206 响应:proxy_ignore_headers Cache-Control Expires;,且不要写 proxy_cache_valid 206 ...
  • 确保后端实际支持 Range(例如 PHP 需手动解析 $_SERVER['HTTP_RANGE'] 并输出 206)

稳定性调优:应对几十 GB 文件长连接

防止超时、缓冲溢出或句柄耗尽:

  • 延长超时:client_header_timeout 60;、client_body_timeout 600;、send_timeout 300;
  • 优化 TCP:tcp_nopush on; + tcp_nodelay on;(兼顾吞吐与响应延迟)
  • 缓存文件句柄:open_file_cache max=1000 inactive=20s; + open_file_cache_valid 30s;
  • 允许大请求体(虽下载不用 body,但防误判):client_max_body_size 0;

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux nginx

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.27

383

5

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

3207

6

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

2023.08.04

5865

6

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

561

5

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.07.09

1476

5

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

2024.08.07

3938

3

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

122

12

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

437

23

Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建
Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建

本指南详解Nginx在Windows、macOS及Linux系统的安装全流程。涵盖官方包解压、Homebrew一键部署、APT/YUM源配置及Docker容器化方案。无论新手或开发者,均可快速搭建运行环境,掌握跨平台核心指令,为后续配置与调优奠定坚实基础。

2026.03.16

159

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习