Hexo搬上github服务器
真的是一直想把blog站永久化,尝试过家建服务器,尝试过runclawcloud容器云,都失败了
hexo官方推荐的做法是使用github-pages,但这需要把整个站点的源代码开源或购买github pro服务,不太适合我
最终我找到了一种方式,利用vercel.com将github的私有仓库改成持久化的生产环境部署。
更新的时候利用hexo-deployer-git插件推送部署到私有仓库,然后vercel会自动更新部署。
免费、永续、方便,blog这点破事,终于完美了——
以下三步不分先后,相辅相成吧,看明白原理优先。
1.访问vercel.com部署网站新建项目
1) 访问https://vercel.com/, 并用github账户登录
在github中安装vercel,确保可以在github的settings/Integrations/Applications里找到vercel
然后把你需要使用vercel部署的github仓库给vercel开好访问权限,全开也没啥问题
2) 点击Import Git Repository,自动生成vercel project
选择后进入配置页面,按自己项目所需配置环境变量,
3) 点击deploy
进行构建
正常的话,这就部署成功了,会有一个XXXXXXX.vercel.app的默认域名,
接下来需要绑定我们自己的域名
4) 绑定域名
在Vercel侧配置(Settings - Domains)
donneryst.com
www.donneryst.com
2.域名配置DNS解析到varcel服务
我把域名的管理放在了cloudflare,或许不放会更快,以后再调整。
在域名的DNS侧配置
donneryst.com
A @ 76.76.21.21 仅 DNS 自动
CNAME waline cname.vercel-dns.com 仅 DNS 自动
CNAME www cname.vercel-dns.com 仅 DNS 自动
第一行的A记录是vercel服务器的ip
3.利用hexo-deployer-git插件执行推送
1) 首先安装插件
npm install hexo-deployer-git
2) 再配置_config.yml
deploy:
type: git
repo: git@github.com:[用户名]/[仓库名].git,main
message: 推送部署
name: [用户名]
email: [邮箱]
我是利用ssh-key推送的,windows的话,默认私钥位置是
C:\Users\[用户名]\.ssh\id_rsa
3) 再执行清理与部署
默认会生成一个.deploy_git文件夹,里面内容和public一样,然后会自动推送到设定的git仓库
hexo clean
hexo deploy
最后,希望每个人博主都能找到自己的家。