通过开启Nginx的Rander缓存优化视频播放效率

通过开启Nginx的Rander缓存优化视频播放效率

三月 25, 2024

在使用通过 Nginx 反向代理方式部署的 Cloudreve 内置的播放功能播放视频时,会出现严重卡顿。

具体原因是 Nginx 的代理功能默认是不开启 Rander 缓存的,导致每次播放视频时,Nginx 都需要重新下载视频文件,从而导致播放时出现卡顿。

症状可以参照:https://github.com/cloudreve/Cloudreve/issues/1833

解决方案:开启 Rander 缓存。

在 Nginx 的代理的配置文件中添加以下配置:

1
2
3
4
5
6
7
8
9
location / {  
slice 1m;
proxy_cache cache;
proxy_cache_key $uri$is_args$args$slice_range;
proxy_set_header Range $slice_range;
proxy_cache_valid 200 206 1h;
#proxy_set_header Range $http_range;
proxy_pass http://127.0.0.1:5212;
}

注意,proxy_cache cache; 应当已在 Nginx 配置文件中正确定义了名为 “cache” 的代理缓存区域。。这通常可以通过添加以下指令来实现: proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache:10m max_size=100m inactive=60m;

或者,如果安装了运维面板,可以用打开自带的缓存按钮,它会自动生成代理缓存区域,并在此基础上修改为 Rander 缓存配置。

注意:不要开启缓存,会导致新建和删除文件不显示。

参考:https://www.cnblogs.com/zhangyong/p/15295806.html