cdn手动安装教程

最新版EFV已支持从后台直接安装并管理CDN,如果你喜欢折腾,想手动单独安装,则看该处即可。

如果你是新手,不怎么熟悉Linux系统,推荐直接在EFV后台进行安装和管理,手动安装只适合有点基础,喜欢折腾的人。

开始安装

系统要求:CentOS 8+Debian 10+Ubuntu 20.04+AlmaLinux 8+Rocky Linux 8+,且为刚重装好的系统。

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

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

#运行脚本
bash /tmp/cdn.sh /home http://127.0.0.1:3000 10080 apikey

#相关参数说明
/home为安装目录,需绝对路径,自行修改,不存在会自动创建
http://127.0.0.1:3000为EFV的访问地址,推荐使用http://ip:3000
10080为缓存时间,单位分钟
apikey为apikey,可以随便填

Enter运行,直到脚本运行结束,期间会给你安装所有环境,包括BBR,安装完成后,访问地址为ip:3888

如果第一行命令出现wget: unable to resolve host address报错,则解决方法 ⇒ 传送门

其它操作

绑定域名

使用脚本绑定域名,需服务器不要安装nginx/apache等,且绑定后,也不要安装这些,不然会冲突。

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

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

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

#同时绑定多个cdn域名,运行前请将后面的域名改成自己的,注意提前将域名解析到CDN服务器,会自动申请免费SSL证书
bash /tmp/add_caddy.sh '1.cdn.com@127.0.0.1:3888|2.cdn.com@127.0.0.1:3888'

格式为域名@反代地址cdn默认地址为127.0.0.1:3888,可以不用修改,多个域名使用|分开,

注意绑定命令可以重复运行,每次运行都会重置绑定域名,所以请一次性绑定好所有域名。

清除缓存

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

#运行脚本,/home为cdn安装目录,自行修改
bash /tmp/cache.sh /home

修改CDN配置

如果我的安装目录为/home,则配置文件为/home/cdn-node/config/config.js,编辑代码详解如下:

module.exports = {
  dbUrl: "127.0.0.1",  //mongodb数据库ip,不用修改,默认即可
  db: "efvcdn",  //mongodb数据库名称,不用修改,默认即可
  dbUser: "efvcdn",  //mongodb数据库用户名,不用修改,默认即可
  dbPassword: "efvcdn",  //mongodb数据库密码,不用修改,默认即可
  apiKey: '6860e43596fd11d4ee66303d',  //apikey,自行修改
  efvDomain: 'http://localhost:3000',  //EFV绑定域名 或 ip:3000地址,注意带上http://或https://,后面不带/
  keeptime: 20 //缓存时间,单位分钟,根据硬盘大小适当调整
};

接下载再使用SSH客户端,继续使用命令:

#进入源码目录
cd /home/cdn-node
#杀掉当前进程
pm2 kill
#启动
pm2 start ecosystem.config.js --env production

如果运行命令期间提示-bash: pm2: command not found,则需要先运行一下source /etc/profile,然重新打包即可。

其它用法

cdn除了加速切片,还可以用作一个图片云处理服务器,直接处理任何的图片地址,并将图片转换为webp格式缓存到本地服务器,体积极小,加载极快,也可直接通过该接口处理调用其它图片。

云处理服务接口/api,调用示例:

https://imageserver.querydata.org/api?url=https://wmdb.querydata.org/movie/poster/no-poster.jpg&width=200&format=webp

#参数详解
url为需要加速处理的图片地址,且服务器必须可以正常请求该图片域名
width和height参数为海报长宽,至少需要存在一个,当仅存在其中一个时,则会保留图片宽高比自动处理!
format为返回类型,支持jpg、png和webp,推荐使用webp,程序会判断浏览器是否支持webp,支持webp返回webp,不支持返回jpg!webp加载实在太快了!