介绍及安装教程

CDN系统推荐结合EFV的线路定时功能一起用,即晚上外网网络的拥堵的时候,自动切换到指定CDN线路。
提示:目前已在EFV后台集成该CDN控制端,也就是可以在EFV远程安装CDN、查看CDN CPU带宽等资源利用,并且远程CDN出现故障会自动修复等。

缓存规则

  • cdn系统缓存命中率为100%,也就是只要通过cdn域名访问的视频切片,均会100%缓存到cdn所在的服务器里面,无需担心命中问题。
  • 缓存容量内置上限,也就是最多只能缓存服务器总容量的80%,防止使用过多,影响系统其它进程;当缓存容量超过80%时候,就不会再缓存了,低于80%立即自动缓存。
  • 可以自动清理某时间,比如1天内未被使用的切片,该时间可自行设置;可结合缓存容量上限 一起使用。
  • 防盗链系统,可设置指定域名网站才能使用该cdn域名的切片播放。

安装CDN

提示:脚本和客户端都会自动检查并开启BBR加速,无需额外开启。且EFV防盗链设置的禁止ts下载功能需要关闭,才能缓存。

系统要求:CentOS 8+Debian 10+Ubuntu 20.04+AlmaLinux 8+Rocky Linux 8+

如果你的切片访问量比较大,那么服务器的cpu即配置尽量好点,且多用几台服务器提供cdn,不然负载多cdn服务器容易卡。

客户端安装

目前提供一键安装,一键绑定域名客户端,如果你没Linux基础,可以使用,客户端下载 ⇒ 传送门;如果你要在多个服务器安装CDN,可通过右上角添加配置,添加多个服务器并安装CDN,且服务器信息会自动保存,方便进行操作相关指令。

手动安装

如果你有Linux基础,可使用SSH客户端,比如Xshell软件,登录服务器,再使用命令:

#下载脚本
wget --no-check-certificate -O '/tmp/cdn-node.sh' 'https://file.efvcms.com/moeapp/efvcdn/cdn-node.sh'

#运行前请将后面2个参数修改成自己的,即源码安装和缓存路径/home,最后面是EFV域名,可以为ip:3000端口,可以为EFV绑定域名,能访问EFV就行,
bash /tmp/cdn-node.sh /home http://127.0.0.1:3000

安装完成后,访问地址就是服务器ip:3888,接下来要正常使用需要绑定一个域名,再使用命令:

#下载脚本
wget --no-check-certificate -O '/tmp/add_caddy.sh' 'https://file.efvcms.com/moeapp/efvcdn/add_caddy.sh'

#单个域名,运行前请将后面的域名改成自己的,注意提前将域名解析到CDN服务器,会自动申请免费SSL证书
bash /tmp/add_caddy.sh 1.cdn.com

#多个域名,多域名使用英文|分开,注意域名参数的两边单引号别漏了
bash /tmp/add_caddy.sh '1.cdn.com|2.cdn.com|3.cdn.com'

如果你只绑定1个域名,则运行单个域名命令,多个域名则运行多域名命令,且域名不能带http://或https://,且该命令可以重复运行,每次运行会覆盖旧的配置。

配置文件

配置文件为config/config.js,主要参数如下:

efvDomain: 'https://127.0.0.1:4000', //设置成你的EFV域名,也可以为ip:3000,且都需要能访问
keeptime: 1440 //缓存时间,默认单位分钟,如设置1440,即自动清理1天没有使用过的切片缓存

注意修改配置后,需使用pm2 reload cdn-node命令重启生效。

相关命令

启动CDN

#进入源码目录
cd /home/cdn-node
#环境生效
source /etc/profile
#启动程序
pm2 start ecosystem.config.js --env production

重启CDN

pm2 reload cdn-node