Warning
按量付费的CDN与对象存储方案存在被刷流量的风险,请仔细斟酌后,谨慎使用。

如果您喜欢我的创作,可以赞助我。您的支持将帮助我继续创作更多优质内容,感谢您的慷慨支持!

一、前言

首先本教程是基于 域名已经备案 的前提下进行的,任何静态页面都可以使用本教程,哪怕是你写的一个小demo网页,想show给别人看,也可以使用,前提是域名已经备案

域名备案的解决方案

1、去备案(这不废话吗?)

备案一般必须要有域名服务商的服务器(例如腾讯云需要三个月以上服务器),而服务器又得花很多钱…

那么没服务器怎么办呢?——备案授权码方案

这就得靠我们强大的某宝了,关键字:XXX授权码

2、使用国外的云服务

备案是“中国特色”,国外的服务器是没有备案一说的。

可以尝试 谷歌云 或者 亚马逊的AWS 等国外或者中国香港地区的云服务商。

二、核心方案

核心方案:对象存储 + CDN

方案其实就是将自己的静态网页文件放到云服务商提供的 对象存储 中,而 对象存储 一般提供的都有pages服务,而且访问速度远比代码托管平台(GitHub、Gitee)提供的pages服务快的多,但是这个pages服务,只有绑定了绑定已备案的域名才可以开启。

最重要的是,我们还可以使用云服务商提供的CDN,这样又进一步提升了访问速度,这绝对碾压代码托管平台的pages服务,任你再怎么优化也是没有对象存储快的,更何况还有CDN(付费的当然比免费的好用)。

用远低于购买服务器的价格,就可以获得服务器级别甚至更强的访问性能

腾讯云CND:50.3ms ✌🏻

腾讯云服务器:62ms

Gitee Pages:54.3ms

GitHub Pages:61ms

三、小科普

  • 对象存储:每个文件都是一个对象, 类似一个存储文件的网盘。
  • CDN: 内容分发网络。CDN依靠部署在各地的边缘服务器,使用户就近获取所需内容。 从而可以得到更快的访问速度。
  • 源站:即真正存储网站的服务器。(这里指的是我们的对象存储服务器)。
  • 回源:是指CDN服务器缓存的资源过期后,从源站获取最新的访问资源,然后再缓存到CDN服务器,供下次访问。

四、各云服务商的价格对比

对象存储和CDN相比于服务器是花不了多少钱的。

服务商的选择因素有很多,比如服务、价格、稳定性等,由于我本人接触云服务这方面时间较短,没什么发言权,那我就只谈谈我们这些「平民玩家」最关心的价格这方面,做个价格对比。

1、阿里云

CDN的计费方式有两种:按流量计费 和 按带宽峰值 计费,这里推介选择 按流量计费。

  • 当只用 OSS 时,主要费用就是外网流出流量 的费用
    • 00:00-08:00(闲时):0.25元/GB
    • 8:00-24:00(忙时):0.50元/GB
  • 当使用 OSS+CDN 时,因为CDN需要到源站获取资源,就不需要从外网获取了,所以这时的费用就是
    • 回源流量 + CDN流量费用
    • 0.15元/GB + 0.24元/GB = 0.39元/GB

2、腾讯云

  • 当只用COS时
    • 外网下行流量费:0.5元/GB
  • 当用COS + CDN时
    • 回源流量+CDN流量 = 0.15元/GB + 0.21元/GB = 0.36元/GB

腾讯云对这两个服务的新用户是有半年的优惠的。

COS:免费50GB 标准存储容量,6个月

CDN:送6个月的免费流量,每月50G!

五、部署方式

以腾讯云为例

部署要求

域名已在国内备案

备案一般必须要有域名服务商的服务器(例如腾讯云需要三个月以上服务器),而服务器又得花很多钱…那么没服务器怎么办呢?可以使用「备案授权码方案」

创建存储桶

登录腾讯云,点击右上角控制台,找到云产品,开通对象存储服务。

存储桶列表 → 创建存储桶 → 填写信息

所属地域:选择离自己位置最近的即可(创建后不可更改)

访问权限:选择公有读私有写,高级选项不修改

上传到对象存储

下载COSBrowser客户端,选择相应系统的版本(当然也可以选择Web版)。

将静态文件上传到存储桶根目录。

对于hexo博客,public文件夹中的文件为Hexo生成的静态网页文件,我们需要将这些文件放到COS中,供别人访问。

对于Vue、React项目,需将dist文件夹中的文件上传。

开启Pages服务

回到腾讯云控制台页面,进入刚刚创建的桶的配置管理页面

在左侧选择 基础配置 → 静态网站,开启静态网站

进行配置

之后就可以直接复制 访问节点 的地址到浏览器打开,尝试访问。

绑定域名并开启CDN

找到 自定义CDN域名加速,点击添加域名(只能添加已备案的域名)

  • 域名:你的域名
  • 加速地域:国内加速
  • 源站类型: 静态网站源站(非常重要!!)
  • 回源鉴权:不用打开(公共读不需要鉴权)
  • CDN 鉴权:不用设置

复制该项的CNAME,然后配置到域名解析那里。

将设置的域名,在域名提供商的DNS解析中配置CNAME。

等待部署,一般5分钟左右;部署成功后试下自己的域名能不能访问

六、刷新CDN缓存

用于实现页面的更新

覆盖存储桶的文件

将原始文件删除,并上传新的文件。

刷新CDN缓存

在腾讯云控制台中选择内容分发网络,在左侧菜单中选择刷新预热。提交URL更新即可。