hexo配合腾讯cos搭建博客


腾讯cos配合cdn搭建hexo静态博客

前言

这次只用的是腾讯云cos存储+他的cdn国内加速

为什么要用cdn?

cdn可以实现用自己域名绑定cos给出的链接之后,用https的方式访问博客

hk 的bucket延迟较高

为什么要选择hk的cos?

因为hk的bucket不需要冗长的备案

套餐的选择

cos地区 cdn加速范围 价格
hk 国内
ap-beijing 国内

更好的搭配方案

beijing的bucket+国内cdn 供国内访问

githubpage+国外的cdn 供国外访问

总的来说就是实现双线部署,一次提交两份博客

方法记录

hexo本地的操作

安装脚本并修改配置文件

进入hexo项目目录下执行以下命令安装一键部署脚本

npm install hexo-deployer-qcloud-cos --save

再到hexo项目配置文件中配置以下参数

deploy:
    type: qcloud-cos
    cosRegion: <您的cos bucket所在区域代码>
    cosSecretId: <您的cos accessKeyId>
    cosSecretKey: <您的cos accessKeySecret>
    cosBucket: <您的cos bucket名称>
    cosAppid:  <您的腾讯云账户appid>
    remotePath: <您要部署的目录,默认为根目录,默认无需设置>

腾讯云界面的操作

获取参数

首先我们需要在腾讯云控制台获取下列所需的配置参数:

名称 描述
APPID 开发者访问 COS 服务时拥有的用户维度唯一资源标识,用以标识资源
SecretId 开发者拥有的项目身份识别 ID,用以身份认证
SecretKey 开发者拥有的项目身份密钥
Bucket COS 中用于存储数据的容器名称
Region Bucket所在的地域信息。
获取APPID

访问腾讯云控制台 点击右上角用户名 > 账户信息 可以查看到APPID,写入

img

img

获取SecretId和SecretKey

点击控制台右上角用户名 > 访问管理

说明:此处为遵循云服务安全最佳实践,使用角色创建用户。如果图一时方便,可以直接使用访问管理页面的【访问密钥】> 【API密钥管理】创建密钥后使用,该密钥拥有控制您腾讯云账户所有资源的能力,强烈建议不要这么做!

img

进入后点击用户 > 新建用户

img

选择自定义创建

img

输入用户名称,访问方式仅勾选编程访问,点击下一步

img

在策略搜索框中输入QcloudCOSFullAccess 搜索后勾选该策略,点击下一步

img

确认信息无误后点击完成

img

记录该页面中的SecretId和SecretKey,写入配置文件_config.yml 中

img

获取bucket和region

首先从腾讯云可用地域代码 中选择距离自己较近或者自己喜欢的区域,记录区域代码和区域名称

img

bucket是我们创建的对象存储的空间名称,这里我们有两种方式可以创建bucket

  • 方法1 使用 hexo-deployer-qcloud-cos插件自动创建

    将我们想要创建的bucket名称写入配置文件,然后执行hexo 部署命令 (部署命令参考文档

    hexo d

    部署工具在部署前会检测bucket是否存在,如果不存在,会在命令行中出现自动创建bucket确认,如图,输入y确认创建

  • img

    创建成功后,将出现是否立即部署命令,输入y可立即部署,此处我们直接立即部署,便于后续测试

    img

    注意:bucket名称在cos所有区域是唯一的

  • 方法2 使用腾讯云控制台手动创建

    使用腾讯云控制台手动创建bucket的流程此处不再演示,大家可以参照官方文档 创建存储桶

    注意:

    • 用于部署静态网站的bucket访问权限必须设为public-read 即公共读!否则即使设置对象文件权限为公开,仍将会导致COS静态网站的索引文档功能失效
    • 控制台创建的存储桶名称格式为-格式,如newbucket-125000000在设置配置文件时,bucket只需要输入-前面的部分即可

修改存储桶bucket设置

开启静态网站设置

进入控制台对象存储管理页面img

点击刚刚创建的存储桶名称,进入存储桶详情页面,点击基础配置

img

页面滑到底部,找到静态网站栏目,开启静态网站,索引文档设置为index.html

img

设置自定义域名

点击存储桶详情页面的域名管理选项卡,在自定义源站域名栏目下点击添加域名,源站类型选择【静态网站源站】,在域名位置输入博客要解析的域名,点击保存,复制CNAME值,到域名服务商处设置解析,此处需要设置的域名必须时已经备案过的域名,若域名尚未备案,则不能设置。(如果是hk的bucket,不需要备案,不过最好还是备案下,不然之后的cdn无法进行国内加速)

img

开启cdn加速,并实现全站https

CDN 加速适用于对 COS 存储桶中的内容进行下载、分发,特别是对于相同内容反复下载的使用场景。
用户可对以下域名进行管理,实现存储桶中对象的快速下载和分发:

  • 默认域名:即 COS 源站域名,是创建存储桶时,由系统根据存储桶名称和地域自动生成的,要与默认加速域名区分开。
  • 默认加速域名:经由 CDN 加速节点的域名,系统默认生成,用户可选择开启或关闭。
  • 自定义域名:用户可以为存储桶绑定已备案的自定义域名,通过自定义域名访问存储桶中的对象。

默认加速域名操作步骤:

单击存储桶详情界面上方的域名管理,单击编辑,把默认加速域名的当前状态设置为开启。源站类型通常默认为 XML 节点,如果作为源站的存储桶开启了静态网站,并且希望为静态网站加速,则选择为静态网站节点。(此处因为我布置的hexo的静态博客,因此需要勾选静态网站节点
当存储桶为公有读时,则不需要开启 回源鉴权,最后单击【保存】按钮即可开启 CDN 加速。
img
注意:
如果用户在之前从未使用过腾讯云 CDN 服务,则无法进入域名管理,需先进入 CDN 控制台使用 CDN 服务。

自定义加速域名操作步骤:

进入域名管理页面,在第二栏“自定义加速域名”处单击添加域名,输入待绑定的自定义域名,如ww w.example.com,回源鉴权可不开启,单击右侧的保存即可完成域名添加。

image-20200711155825009

注意:用户为域名启用 CDN 加速之后,任何人都可以通过此域名直接访问源站,所以如果您的数据有一定的私密性,请您务必通过 鉴权配置 来保护您的源站数据。


自定义域名添加DNS解析

当把上一步域名绑定储存桶和CDN加速域名完成之后,就可以开始优化DNS解析了。(默认域名无须添加解析)
到你的域名解析页面,添加上两条解析。

img


测试

DNS查询:选择CNAME类型,看响应ip是否为添加解析的记录值

image-20200711160052923

https设置(如果没有这方面需求可忽略这一步)

进入到配置证书的界面

image-20200711160352361

根据提示添加证书信息

image-20200711160519561

证书可以使用腾讯或者阿里提供的免费证书,下载ngix那个版本的就好(实在不知道怎么填写的参考这里)

回源协议勾选HTTPS就好

最后访问你的域名,看看有没有那把小锁

image-20200711160944589

至此,使用腾讯cos建站并使用cdn实现https 已经结束

参考的资料

blog.yleao


文章作者: Aknightive
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Aknightive !
评论
  目录