CMS介绍及安装教程
功能介绍
- 完全由
EFV API2
驱动的开源CMS
,采用svelte
开发(运行效率数一数二,远超vue
和react
),采用服务端渲染(极有利于SEO
),采用领先的自适应设计。 - 类似
bilibili
的动态渲染技术,点推荐视频之后,页面并不会刷新,而视频信息,推荐视频,留言都是动态刷新。 - 拥有剧集电影全预览视频支持(鼠标移动到海报上自动播放预览视频,完全支持剧集和电影)
- 采用国际领先的播放器技术(多分辨率无缝切换,切换分辨率的时候不会重新播放,播放连贯的情况下切换成新分辨率,还支持画中画,外挂
vtt
字幕等多项高级功能,页面打开秒播!) - 全站内存缓存,
10
分钟会从EFV
的api
读取一次数据缓存到内存,比ssd
快n
倍的读取速度,只要网络延迟允许下,任何页面均秒开! - 支持试看,支持支付,支持
VIP
用户组,支持剧集,支持电影等等整个功能。 - 支持安装网站快捷应用到桌面,方便用户直接点击图标打开,速度比网页更快,目前国内视频网站仅爱奇艺在使用。
- 敏感词过滤系统、针对求片和评论会自动替换敏感词为
***
,例如fuck you
发布之后会替换成**** you
,可自行添加更多的敏感词,一行一个。 - 求片留言和电影评论功能,
redis
内存级别的API
请求限制,针对评论为2
分钟最多能发布一个评论,针对求片为60
分钟只能发布2
个求片信息。 - 对接了
EFV
时间戳/播放次数防盗链系统,限制本站访问者请求API
!非常安全,尽最大可能防止盗链盗播!
演示地址
地址:https://ytb.zhuanma.co/
推荐使用手机浏览器进行阅览。测试期间,当没有缓存时,如果有用户访问页面,这时api
请求数据会缓存到cms
所在服务器内存里,在其后10
分钟内,任何用户访问相同页面都会直接从内存读取数据,以达到秒开的效果。
安装步骤
系统要求:CentOS 7+
,Debian 8+
,Ubuntu 16+
(推荐),AlmaLinux 8+
,Rocky Linux 8+
。
推荐安装到网络比较好的低配置服务器中,且不建议和转码服务器安装在一起,不然就失去意义了。
友情提示
如果你的服务器在中国大陆以外,包括中国香港,中国台湾,建议先安装BBR
,可优化TCP
连接,尽可能让用户流畅的观看视频。
如果你是CentOS 7
系统,建议BBR
在新装系统的服务器上安装,毕竟超小概率会造成换内核访问不了服务器。
使用SSH
客户端,比如Xshell
软件,登录服务器,再使用命令:
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
,CentOS 7
系统安装完成后需要重启服务器,其它系统不需要。
如果第一行命令出现wget: unable to resolve host address
报错,则解决方法 ⇒ 传送门。
开始安装
使用SSH
客户端,比如Xshell
软件,登录服务器,再使用命令:
#下载脚本
wget --no-check-certificate -O '/tmp/efvcms.sh' 'https://file.efvcms.com/moeapp/shell/efv-cms.sh'
#运行前请将后面1个参数修改成自己的,即源码安装路径/home,路径自定义,为绝对路径写法,不存在会自动创建
bash /tmp/efvcms.sh /home
Enter
运行,直到脚本运行结束,期间会给你安装所有环境,接下来还需要配置才能使用。
程序配置
编辑主要配置文件
如果我的安装目录为/home/efvcms
,则配置文件为/home/efvcms/src/routes/api/_config.js
,在SSH
客户端使用命令:
vi /home/efvcms/src/routes/api/_config.js
首先按一下键盘的i
键,进入编辑模式,这时候可以使用键盘进行编辑,编辑代码详解如下:
import redis from 'redis';
const client = redis.createClient();
const config = {
apis: [{
host: 'http://127.0.0.1:4000', //EFV绑定域名,注意带上http://或https://,后面不带/
apiKey: '3f29g2C8BEdGF1gDA08b', //EFV的apikey,自行在转码设置处设置和查看,且需要打开api开关
tokenkey: 'a1b2c3d4qeeqrqrqrszq' //EFV时间戳防盗链key,自行在转码设置处设置和查看,且时间戳开关打开才会生效
}],
redisClient: client,
imageHost: 'http://127.0.0.1:4000', //为封面图、封面预览视频 引用域名来源,默认填EFV绑定域名,注意带上http://或https://,后面不带/
host: 'http://127.0.0.1:3000' //支付专用,EFV分离CMS所绑定的域名,注意带上http://或https://,后面不带/
};
全部编辑好了后,按一下键盘的esc
键退出编辑模式,接下来输入英文:wq
,enter
保存退出。
最后如果你不是很会命令行,依然不会修改,可以使用FTP
软件或宝塔文件管理,找到该文件后手动修改即可。
再编辑图片配置文件
配置文件路径/home/efvcms/src/routes/_config.js
,在SSH
客户端使用命令:
vi /home/efvcms/src/routes/_config.js
首先按一下键盘的i
键,进入编辑模式,这时候可以使用键盘进行编辑,编辑代码详解如下:
const config = {
imgHost: 'http://127.0.0.1:4000', //为视频内页截图,漫画图片 引用域名来源,默认填EFV绑定域名,注意带上http://或https://,后面不带/
};
export default config;
全部编辑好了后,按一下键盘的esc
键退出编辑模式,接下来输入英文:wq
,enter
保存退出。
最后如果你不是很会命令行,依然不会修改,可以使用FTP
软件或宝塔文件管理,找到该文件后手动修改即可。
打包并启动
使用SSH
客户端,继续使用命令:
#环境生效
source /etc/profile
npm i -g yarn
#进入源码目录
cd /home/efvcms
#打包
yarn build
#设置运行端口
export PORT=3888
#启动程序
pm2 start __sapper__/build --name cms
#设置开机自启
pm2 save
pm2 startup
这时候启动完成后,访问地址就是服务器ip:3888
,接下来要正常使用需要绑定一个域名,绑定教程 ⇒ 传送门,反代地址修改为127.0.0.1:3888
即可。
当然你有宝塔的话,可以直接使用宝塔添加域名,并设置反向代理,URL
填入https://127.0.0.1:3888
。