安装cdn节点

系统要求

系统要求:CentOS 7+Debian 8+Ubuntu 16+(推荐),AlmaLinux 8+Rocky Linux 8+

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

友情提示

注意:BBR建议在新装系统的服务器上安装,毕竟超小概率会造成换内核访问不了服务器。

如果你的服务器在中国大陆以外,包括中国香港,中国台湾,建议先安装BBR,可优化TCP连接,尽可能让用户流畅的观看视频。

使用SSH客户端,比如Xshell软件,登录服务器,再使用命令:

#如果第一行命令出现wget: unable to resolve host address报错,则解决方法看后面。
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh

该脚本会自动给你更换BBR内核,并开启BBR,安装完成后会自动重启。

安装源码

提示:如果你使用的EFV高级版,则防盗链设置的 禁止ts下载需要关闭,才能缓存。 

首先使用SSH客户端,比如Xshell软件,登录服务器,再使用命令:

#下载脚本
wget --no-check-certificate -O '/tmp/cdn-node.sh' 'https://download.zhuanma.org/moeapp/efvcdn/cdn-node.sh'

#运行前请将后面1个参数修改成自己的,即源码安装路径/home,路径自定义,为绝对路径写法,不存在会自动创建
bash /tmp/cdn-node.sh /home

配置和启动

编辑配置文件,如果我的节点安装目录为/home/cdn-node,则配置文件为/home/cdn-node/config/config.js,只编辑该文件即可。

1、配置需要加速的EFV高级版域名

#将该域名设置成你的EFV高级版绑定域名,可以为域名,也可以为ip:3000,且都需要能访问。
efvDomain: 'http://127.0.0.1:4000',
或
efvDomain: 'https://efv.efvcms.com',

这里推荐使用ip:3000,效果可能会好点。

2、配置CDN的apiKey

#自行设置,随便设置
apiKey: 'iqi360bytheway'

3、配置防盗链

#防盗链配置,格式如下,一行一个网址,结尾用英文,分开,即切片只能被此处的网站引用播放;反之留空则默认切片可以被所有网站引用播放
antiurls: [
 'play1.efvcms.com',
 'play2.efvcms.com'
],

注意,如果设置防盗链后,你播放不了切片,则建议先不设置防盗链。

4、配置缓存时间

#缓存时间,默认单位分钟,如设置60,即自动清理60分钟没有使用过的切片缓存
keeptime: 60

最后编辑好了后,使用以下命令启动:

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

#验证是否运行成功,返回Hello World!信息即安装成功
curl 127.0.0.1:3888

最后访问地址就是服务器ip:3888,接下来要正常使用需要绑定一个域名,继续看左侧文档绑定域名。

特别注意

有时候会因为系统原因,会导致数据库新建失败,从而使cdn运行异常,也就是拉取缓存的时候,会出现504超时错误,这时候使用以下命令:

#将下面命令一起复制进SSH客户端运行
cat <<EOF > createdb
use efvcdn
db.createUser( { user: "efvcdn", pwd: "efvcdn", roles: [ { role: "readWrite", db: "efvcdn" } ] } )
EOF
mongo < createdb && rm -rf createdb

最后再运行命令重启生效:

pm2 reload all