使用第三方托管平台部署博客

写在前面

为了实现Serverless架构,部署博客到第三方托管平台是个不错的选择,同时也可以提升博客访问速度。
本文将介绍如何使用GitHub Pages,Vercel,Netlify和Zeabur第三方托管平台部署博客。

常见托管平台优劣比较

托管网站优点缺点
Gitee国内服务,速度可观,部署方式类同GitHub。容量小,且对图片滥用管理更加严格,静态页面部署后需要手动刷新。一般推荐
GitHubGithub免费服务,可用Github Action自动部署,操作简单。国内访问速度较慢,时常出现超时等情况。一般推荐
Vercel速度较快,支持监测github仓库变动后持续部署,操作简单。推荐近年来IP屡次被墙,需要解析到自定义域名才能正常访问。
Netlify速度较快,支持监测github仓库变动后持续部署,操作简单。推荐线路支持不全面,国内部分地区可能依然较慢 。
Zeabur速度较快,有中文文档,支持监测github仓库变动后持续部署,操作简单。一般推荐免费线路只有海外,国内线路需要收费,免费计划环境随时可能会被删除。
Railway基于Docker的云原生应用托管平台,同时支持部署数据库和缓存服务。仓库管理比较严格,部署镜像站容易被封号,免费额度较小,依靠Docker部署,持续化部署可能会额度不足。 一般推荐
Webify腾讯云在关闭coding的静态页面功能后推出的平替产品,背靠大厂好乘凉,速度有保障。需要收费。 不推荐

部署方法

近期 Gitee Pages 服务维护中,因此本文不做详细说明。Webify和Railway因为额度问题暂时不考虑使用,同样不做说明。
本文将以 GitHub Pages,Vercel,Netlify,Zeabur 四个平台部署博客。

建议使用GitHub Pages部署博客,这样就无需每次再将博客文件上传到GitHub Pages仓库。
详见使用Github Action实现全自动部署

  1. 注册GitHub账号,并创建一个仓库,仓库名为username.github.io,其中username为你的GitHub用户名。
  2. 将博客[Blogroot]/public/文件夹下所有内容上传至仓库或者使用hexo-deployer-git插件自动部署,具体步骤可参考官方文档
  3. 访问https://username.github.io即可访问你的博客。
  4. [Blogroot]/source/文件夹中新建 CNAME 文件,并将你的域名写入其中,如:blog.example.com,重新上传至仓库。
  5. 项目-Settings-Pages-Custom domain中绑定自定义域名(此时应已自动填写CNAME文件中的域名),并等待域名解析生效。
    域名解析中
  6. 访问https://blog.example.com即可访问你的博客。

在此步骤前最好先完成GitHub Pages部署博客,这样方便导入项目。

  1. 访问Vercel官网,点击右上角的sign up进行注册(最好直接用Github账号注册,方便导入项目)
  2. 进入到项目管理页面后点击Add New...按钮,选择Project,选择你要部署的博客仓库,点击Import按钮,Framework Preset选择Other,点击Deploy按钮,等待部署完成。
    Vercel项目管理页面
    Vercel导入项目
    Vercel部署项目
  3. 因为国内Vercel无法访问,需要绑定自定义域名。在项目-Settings-Domains添加自己的域名,然后在运营商处添加CNAME解析记录cname-china.vercel-dns.com.
    Vercel绑定域名
  4. 等到域名解析生效,就可以用自己的域名访问博客了。

国内访问Vercel速度较慢,解析时可以选用加速DNS,例如
vercel.cdn.yt-blog.topcname-china.vercel-dns.com

在此步骤前最好先完成GitHub Pages部署博客,这样方便导入项目。

  1. 访问Netlify官网,点击Sign up进行注册(最好直接用Github账号注册,方便导入项目)
  2. 进入到项目管理页面后点击Add new site-Import an existing project,选择你要部署的博客仓库(这里我直接使用GitHub),选择username.github.io项目导入,Site name按喜好填写,点击Deploy site按钮,等待部署完成。
    Netlify项目管理页面
    Netlify导入项目
    Github Pages项目导入
    Netlify部署项目
  3. 部署完后,在Domain management中绑定自定义域名,点击Save按钮。
    Netlify绑定域名
  4. 点击Awaiting External DNS查看需要解析到的网址,在运营商处添加CNAME解析记录[你的网站给出的网址].netlify.app.
    Netlify解析域名
  5. 等到域名解析生效,就可以用自己的域名访问博客了。

在此步骤前最好先完成GitHub Pages部署博客,这样方便导入项目。

  1. 访问Zeabur官网,点击Get Started进行注册(最好直接用Github账号注册,方便导入项目)
  2. 进入到项目管理页面后点击创建项目,选择服务地区(免费的只有德国和美国),选择从Github仓库部署,选择你的博客仓库,会自动识别为Static-Hexo,点击部署。
    Zeabur服务器选择
    Zeabur选择项目
    Zeaburi部署项目
  3. 部署完成找到项目-网络-自定义域名绑定自己的域名,点击Create Domain按钮。
    Zeabur绑定域名
  4. 在运营商处添加CNAME解析记录ewr1.cname.zeabur-dns.com.
  5. 等到域名解析生效,就可以用自己的域名访问博客了。