上海发布
Nginx 静态文件默认支持范围请求,但如果前面还有 CDN、对象存储或反向代理,需要逐层检查是否错🌟误删除了 Range📌 请求头。普通 MP4 文件可以使用下面的基础配置作为起点:
视频问题不一定是 Nginx 配置🔑错误。可以先观察浏览器开🎊发者工具中的请求状态、服务器带宽和磁盘读写情况,再确定优化方向。
对于大量异地用户,Nginx 源站只负责稳定回✅源,CDN 负责就近分发,通常比单台服务器直接承载所有视频流量更合理。若视频文件很大、访问地域分散,💎优先评估带宽和 CDN 命中率,而不是先调整连接超时时间。
只有当文件格式、Range 请求、缓存策略、带宽容量和☀️自适应码率同时匹配业务场景❤️时,Nginx 视频播放才能获得稳定的流畅表现。
视频文件本身也需要处理。MP4 的 moov 元数据如果位于文件末尾,播放器往往要读取较多内容后才能开始播放。上传前可以通过编码工具启用 faststart,把必要元数据移动到文件前部。这个处理通常比单独调整 Nginx 参数更能改善首次打开速度。
静态视频传输可以使用 sendfile ✅on,让文件数据更高效地从文件系统交给网络层,减少不必要的用户态拷贝。tcp_nopush on 通常与 sendfile 一起使用,有助于减少发送大量小数据包的情况。