Nginx做视频缓存,怎样边回源边响应给用户
用Nginx的proxy功能,在客户请求一个70mb的文件时,Nginx用1mb/s的速度去视频网站下载这个mp4文件,客户那里一直黑屏,直到70s后,Nginx以8mb/s的速度将完整的mp4文件传给了用户,视频才播放起来。 这样做的话,面对一个未缓存的新视频,第一个访问的用户要等70s才能看,有点麻烦。请问有什么好的解决方案吗?目前想的是用爬虫来假装第一个用户,但这样也只是解决了热门视频的问题。 请不吝赐教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
proxy_buffering off
nginx默认开启proxy_buffering ,它会尽量读取responses数据并暂存下来,等接收完之后再发送给客户。
关闭proxy_buffering 后,nginx会将获取的mp4数据立即发送给客户,客户收集到足够播放的元数据后即可开始播放,一般会很快(如果文件本身不适合流媒体播放那又是另一回事了,但这种情况已经很少见了)
SF首答,本弱鸡如果错漏还望指正。
参考文档:http://nginx.org/en/docs/http...