使用 Vercel + github 部署 hexo 博客
写在前面
本站已迁移至 Vercel 页面托管服务,博客链接更新为 blog.im0o.top。
什么是 Vercel
Vercel 类似于 github page,但远比 github page 强大,速度也快得多得多,而且将 Github 授权给 Vercel 后,可以达到最优雅的发布体验,只需将代码轻轻一推,项目就自动更新部署了。
这意味着,你无需配置繁琐的 Github Actions,只需要将代码推送至你的仓库(可以是私有的),Vercel 会自动克隆代码并按照设定的方式部署。
什么是 Hexo
Hexo 是一个基于 Node.js 的博客框架,它可以轻松地创建博客,并且支持 Markdown 语法。
准备工作
在开始部署之前,需要先安装 Node.js、Git、yarn(如果需要)、hexo,并且拥有一个有效的 Github 账户。
如果你使用的是 Windows 系统,需要安装 Git for Windows。
安装 Node.js
你可以通过以下方式安装 Node.js:
-
直接下载安装 Node.js。
使用 scoop 包管理器安装 Node.js
如果你使用 scoop 包管理器,需要先安装 scoop 包管理器,然后在命令行中执行
scoop install nodejs
命令即可。使用其他包管理器安装 Node.js
安装 Hexo
你可以参考 文档 | Hexo 中的步骤进行安装。
使用以下指令,即可通过 Yarn 包管理,进行全局安装 hexo 脚手架。
1 | Yarn |
以下为安装日志,安装成功后使用 hexo -v
即可查看安装好的 hexo-cli 的版本。
1 | PS ->yarn global add hexo-cli |
初始化 Hexo 项目
新建一个文件夹,用于存放你 Hexo 博客的所有内容。
输入以下指令,初始化该文件夹为一个 Hexo 博客项目。
首先使用
git init
将其初始化为一个 Git 项目,便于后续上传到仓库进行自动构建。
1 | PS > git init |
你可以使用指令 hexo s
或 hexo server
在本地运行你的博客,默认地址为 localhost:4000
,用浏览器打开即可看到你的博客,与一篇默认的 Hello World 文章。
本篇的重点不在搭建 Hexo 博客上,与本地的 Hexo 有关内容到此结束
新建 Github 仓库
新建一个 Github 仓库,用于存放博客源码,这个仓库可以是私有(Private)的,也可以是公开(public)的。
将本地博客 push 到你刚刚新建的 Github 仓库中。
1 | PS > git add . |
部署好后即可在仓库中看到你的 hexo 源码
将源码部署至 Vercel
从 Login – Vercel 登录你的 Vercel(推荐选择 Continue with Github,使用 Github 登录)
点击 dashboard 中的 New Project 即可新建一个 Vercel 项目。
你可以在这里看到你最近新建的仓库,点击仓库右边的 Import 按钮,导入仓库至 Vercel。
Vercel 自动识别了这个仓库是一个 Hexo 项目,如果你没有对你的 Hexo 项目做更改,可以直接使用默认配置,直接点击 Deploy 按钮部署。
成功部署后的页面如下。
点击 Go to Dashboard,即可前往该项目的控制面板。
DOMAINS 下的链接即为你的博客的访问链接,左边为该网站的预览图片。
解析域名至 Vercel
你可以点击 Vercel 项目中的 Settings -> Domains,将你的域名解析至 Vercel 部署的网页上。
输入你的域名(可以是二级域名)后点击右方的 Add 按钮,即可绑定域名至该项目.
此时,页面提示了 Invaild Configuration,原因是域名没有解析至 Vercel。
推荐使用 CNAME 记录进行解析。
按图中样式,添加一个 CNAME 记录,记录名为 testblogproject(本例为这个),记录值为 cname.Vercel-dns.com。
如果是 CloudFlare DNS,不要使用 CF 代理(因为 Vercel 本身速度足够快了,如果用 CF 代理,访问速度反而会变慢)。
保存后刷新 Dashboard-Settings-Domains 页面,你可以看到该域名不再报错,且正在生成 SSL证书。
访问 testblogproject.im0o.top,看到先前测试时的页面,证明部署成功了。
更新博客内容
以后更新博客,只需要在本地写好内容,将代码推到 Github 仓库,Vercel 会自动编译部署最新的代码(在默认分支)。