自娱自乐,我的博客(十六)——博客托管到腾讯云
自娱自乐,我的博客(十六)——博客托管到腾讯云
前言:
早些搞博客的时候比较穷,白嫖博客托管,用过github,由于网速太慢切到gitee,又由于不支持私有域名换到Coding,后Coding开始收费又换到Vercel,这个网站有段时间被墙了后再次换回Coding体验几个月免费,现在免费期也到了。腾讯将静态网站托管功能从Coding移到腾讯云了,免费固然好但经常被迫搬家,要花时间折腾,现在人到中年钱有一点,更缺的是时间,因此在腾讯云正式成为付费用户。
1 腾讯云静态网站托管
1.1 开通静态网站托管服务
在 腾讯云官网 搜索 网站托管 ,点击 静态网站托管 。注意,静态网站托管是包月的,不是按流量收费。

首次使用需要点击 免费开通云开发 将服务打开。

点击 同意授权 。

在腾讯云上托管静态网站是收费的,收费不算贵但省心很多。我购买的是19.9元/月的个人版,用与访问量不高的个人博客网站足够了。

如果要一次性购买两年,价格是477.56元,如果更新时间不固定建议买单月,需要更新网站内容的那个月购买即可,中间费用到期了虽然不能更新网站内容,网站仍然是可以访问的。如果每个月都会更新博客则建议包年。到期后如果腾讯云账户里有钱会自动续费,如果余额不够则不会续费。

1.2 安装CloudBase CLI
执行指令安装CLI。
1 | sudo npm i -g @cloudbase/cli --registry=http://mirrors.cloud.tencent.com/npm/ |
国内可能由于网络问题安装不上,可以使用yarn安装。
1 | yarn global add @cloudbase/cli --registry=http://mirrors.cloud.tencent.com/npm/ |
有可能安装成功后,仍然提示找不到tcb指令。需要将路径添加到环境变量PATH中。
比如我是通过yarn安装tcb,使用以下指令查看其安装位置。
1 | yarn global bin |
把下面这行代码写到终端的配置文件中。
1 | export PATH="$PATH:/home/calm/.yarn/bin" |
比如使用的是zsh,执行以下指令编辑.zshrc文件。
1 | vim ~/.zshrc |
执行指令使配置生效。
1 | source ~/.zshrc |
1.3 CLI管理静态托管
CloudBase CLI 是云开发(Tencent CloudBase,TCB)开源的命令行界面交互工具,用于帮助用户快速、方便的部署项目,管理云开发资源。
CLI托管可以文件的方式指定文件或目录上传。初始化云开发CLI,在本地命令行执行以下指令。
1 | cloudbase login |
弹出网页,点击 确认授权 对CLI进行授权。

与之前不同,之前将静态网站部署到服务器是通过指令 hexo g ,而现在CLI管理需要使用以下指令将静态网站托管到服务端,就是把public目录推上去。在Hexo博客仓库根目录下执行,其中 [EnvID] 是创建的环境ID,可在上面创建的云服务中查询。
1 | cloudbase hosting deploy public -e [EnvID] |

执行上面指令后,即可刷新自己的博客页面,查看内容是否更新,正常的话内容已经更新到了网站上。CLI也可以实现 git push 推送仓库时自动部署博客,这种方式如果你的文章在public目录中是按路径存放的,会导致网站找不到这些文章,所以要么取消文章html按照源md路径存放,要么手动通过tcb每次将public目录同步上去。
部署有时会提示 socket hang up 错误,是由于网络问题,重试几次即可成功。
1.4 自定义域名
在腾讯云的 静态网站托管 中找到 配置信息 ,点击 详细配置 。

点击 添加域名 。

填写自己的域名以及为域名申请的SSL证书。

根据提示,将 CName 内容在域名控制台中添加一条 www 解析记录,我的域名是在阿里云购买的,因此添加到阿里云域名控制台中。


2 常见问题
2.1 网站显示为白板
本地构建正确, hexo s 可正确显示网页,但云端网页显示为白板。
这个现象咨询了官方,可以从这三个方面排查原因。

是由于腾讯云的Web托管,目前html只能全放根目录,由于我的Hexo生成的html路径和文章存放路径是一致的,云端部署后找不到这些html文件。因此自动部署功能不好用,部署完后找不到文件,使用以下指令手动将public目录下的全部html目录上传到云端根目录下。
1 | tcb hosting public localPath -e [envId] |







