跳到主要内容

从Hexo迁移博客到Hugo和cloudflare

很久没有动博客了,今年决定捡起来再写写,之前一直使用hexo + github pages 构建博客,平常没什么人访问,基本也够用,听说文章数变多之后使用hexo构建会变得很慢,用hugo会快很多,加上github page 国内访问会比较慢,就切换到使用cloudflare pages,有CDN加速,访问速度确实有提升。这里做一些简单的迁移记录。

hexo vs hugo #

Hexo和Hugo都是优秀的静态网站生成器,Hexo是使用Node.js编写的,Hugo是使用Go语言编写的,如果自己熟悉Go语言,后面可以自己开发一些自定义的功能。这次我选择从Hexo切换到Hugo上。

Hugo的安装过程很简单,可以随便在网上搜。

install Hugo (macOS)
	brew install hugo

# confirm the installation
	hugo version

# create site folder
	hugo new site myblog

Hugo 可选的主题很多 https://themes.gohugo.io/ , 我是一眼看上了congo主题,整体配色和样式我很喜欢。相关的配置可以参考demo网站 https://jpanther.github.io/congo/, 也可以看看这个博客 https://www.guyu.me/

github #

hugo新建的site目录,需要在github新建一个repo,上传到github,后面在cloudflare上进行构建,此处略过。

托管到cloudflare pages #

cloudflare pages 每月有一定的免费额度,对于个人博客够用了

点击创建应用程序,关联之前hugo配置上传的git代码库,就可以进行部署了

为了防止离线和在线cloudflare部署的hugo版本不一致,可以设置环境变量 HUGO_VERSION为你的版本。配置完成后,后面在github上传代码后,cloudflare这边就会自动执行构建,搭建1~2分钟延迟,每月有500次构建额度。

同时还会给你分配一个pages的3级域名,你可以通过这个域名直接访问blog。

域名切换 #

因为之前自己申请了域名,并且通过hexo和github pages 搭建了博客,想把博客迁移到这个 3级域名上。就需要做一下域名的CNAME映射。

在域名购买商上修改DNS解析 #

要使用 Cloudflare pages,需要把自己购买的域名DNS修改成cloudflare的,我是在阿里云上购买的域名,因此需要去阿里云上进行修改。

不得不说,阿里云上功能太多了,找一个DNS修改的功能找了半天。修改DNS之后会有一定的生效时间,需要等一等。

cloudflare上托管域名 #

先把自己的域名添加到cloudflare

设置一下CNAME,映射到cloudflare提供的域名上

然后回到pages,绑定自定义域名,这样就算是把老博客迁移到新博客了。

老博客url 重定向 #

迁移之后,url的格式可能跟之前老博客会有区别,如果想把之前的url 301 重定向到 新博客,可以加一个重定向,可以参考:

或者通过hugo 的permalinks 配置,设置 url的格式,与迁移之前博客的url对齐。我自己博客之前也没什么流量,就不做迁移了

其他备忘 #