记视频网站搭建

CMS产品选型

我先后使用了苹果CMS、海洋CMS,二者都是现阶段国内比较流行的视频CMS系统。

苹果CMS 海洋CMS
优点 成熟、稳定 开源
缺点 不开源,播放器加密 升级频繁,功能不易用

海洋CMS处于快速发展阶段,升级频繁,而且只有海洋一个人在做代码开发。出于对开发者的致敬,我在Git上修了一处海洋CMS的展现bug,给原作提了pull request,然而作者并没有同意合入。此举打击了我继续给海洋CMS贡献代码的积极性,于是转投苹果CMS。

苹果CMS成熟、稳定,使用Think php框架。从代码风格上和框架逻辑上,都较海洋CMS更为成熟。由于其不开源,据说播放器有一段代码还加密了,但是对于初次接触视频CMS的新手,这不重要,重要的稳定、可用、省心。

最终,产品选型上定了苹果CMS。

主机选型

最开始选择了一台美国的主机,实际测试后发现速度实在太慢。具体慢到什么程度,终端敲键盘敲一个卡一个,半天才显示在屏幕上。后台换了一台香港主机,速度提升明显,毕竟离国内近了。附上主机选型上的一些对比:

美国(vultr) 国内(阿里云) 香港 日本 韩国
优点 国外主机比较安全,不需要备案 国内响应速度快 响应速度上在大陆、国外之间,最佳选择 离国内较近,延迟较低 据说响应速度巨快
缺点 国内响应速度慢,延迟大 出事分分钟被锁定,需要备案 主机贵,带宽小 容易被墙封禁 主机太少,特别贵

最后选择了香港主机,扛得住每天几万IP流量的配置套餐。
美国和香港的响应速度差距有多明显,举个例子:美国节点响应测速700~1000毫秒,美国节点加CDN缓存后响应测速300~400毫秒,香港节点响应测速100~200毫秒。

缓存选型

网站搭起来后,如何能让它响应的更快一点,用户一点开就能展示页面。

首先想到的就是上CDN。什么是CDN呢?举个例子,用户通过网络在家里上淘宝网购,假设你家离淘宝网服务器中心特别远。网络上两个相邻节点的距离是影响数据传输快慢的因素之一。暂且不考虑其他因素,相邻节点越近,数据传输的越快。这催生了CDN服务商,它们在世界各地建设CDN节点。淘宝网接入CDN服务后,各个CDN节点缓存了一份淘宝网的数据。于是从最初数据需要从淘宝网传输到你家网络,现在只要从离你最近的CDN节点传输数据到你家网络即可,数据传输速度明显提升。

最终CDN服务商我选择了cloudflare,理由如下:

国内CDN 国外CDN cloudflare
优点 覆盖国内地区,响应速度快 不需要备案 免费,不需要备案
缺点 需要备案 国内提速不明显,大部分主要付费 国内提速不明显

上了CDN之后,又通过设置页面规则,实现了全站缓存。提速效果还是有的,响应测速从原来700~1000毫秒提到400毫秒左右。后来迁到香港主机后就把cloudflare关了,域名解析迁回godaddy。(注意:cloudflare虽然提供免费的CDN,但是需要把域名DNS解析到cloudflare上)

更快一点

采集视频资源后,网站就算搭建起来了,是不是就没有其他的问题了呢?当然不是,作为一个有追求的RD,对技术的探索和性能的优化是无止境的。能不能让它更快一点?

能!打开浏览器控制台,观察每个请求的耗时,发现图片资源能优化。默认存储的是资源站的视频图片,有的资源站可能加了CND,有的可能没加CDN。如果有一天资源站挂了,采集的封面图在网站上就会无法显示。为了减少对外部系统的依赖,同时提高图片的加载速度,最好的办法就是做一道转存,上传到图床。

什么是图床?简单来说就是网站提供图片上传并存储的服务。例如你想发一条带图片的微博,编辑文字,添加图片,然后点击发表。当你添加图片时,其实就是一次人工的上传图床操作。

一旦图床站挂了,相应图片资源也会无法显示。我最终选择微博图床,毕竟这么大的公司不会轻易倒闭。

单独开发了一个脚本,简单思路就是模拟微博登录获取cookie,然后通过api接口上传图片,相当于模拟了一次添加图片但是没发微博的操作。之后配合苹果CMS+宝塔的定时任务,实现资源更新的自动运维。

遇到的其他问题

新主机交付时遇到centos 服务器执行 yum update 时报错 Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast

清空所有缓存后解决问题
yum clean all
yum update -y

后续规划

  • 优化SEO,增加搜索引擎收录

  • 优化模板和修界面bug

  • 扩展电子书、小说等垂类数据,打造全方位、多功能的站,而不局限于视频

  • 承诺永不对用户收费,仅作资源交流。如有侵权,请告知下架。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

© 2018-2019 惜春令 京ICP备18010644号 网站地图