介绍及安装教程
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