把静态博客部署到自己的域名

文件躺在电脑里只是文件夹,放到网上才叫网站。这篇把整个流程写完整: 选托管、配解析、开 HTTPS,中间不需要自己买证书,也不需要写服务器代码。

12 分钟阅读

先理解三件事

在动手之前,把这三个概念分清楚,后面所有操作都会变得顺理成章:

  • 域名(ghsy1.xyz)—— 你家门牌号,方便别人找到你,需要每年续费。
  • 托管 —— 帮你 24 小时开门迎客的地方,静态站点可以免费用。
  • DNS 解析 —— 把门牌号指向实际住址的记录,在你的域名服务商后台填写。

静态博客不需要数据库和服务器程序,本质上就是一堆 HTML、CSS 和图片文件。 所以托管方只需要「把文件发到全球节点上」,这件事目前好几家都免费做,而且比自建服务器稳定。

第一步:选一家托管平台

三个常见选择,按上手难度从低到高排列:

平台适合谁上线方式
Netlify / Vercel 完全不想碰命令行 把文件夹直接拖进网页即可,最快 1 分钟看到效果
Cloudflare Pages 想长期维护、希望国内访问较稳 连接 GitHub 仓库,之后每次提交自动重新发布
GitHub Pages 代码本来就放在 GitHub 仓库设置里开启 Pages,指定分支与目录

我更推荐 Cloudflare Pages:它同时是一家域名解析服务商, 域名和托管在同一个后台,证书、CDN、解析一次配好,长期省心。

第二步:把网站文件传上去

这个站点的目录结构是下面这样,把整个文件夹一起上传,不要只传 /:

ghsy-blog/
├─ /          ← 首页
├─ /about          ← 关于页
├─ 404.html            ← 找不到页面时显示
├─ posts/              ← 所有文章
├─ assets/             ← 样式、脚本、图标
├─ feed.xml            ← RSS 订阅
├─ sitemap.xml         ← 给搜索引擎看的目录
└─ CNAME               ← 里面写着你的域名
关键设置:如果平台要求填「构建命令」和「输出目录」, 构建命令留空,输出目录填 /(或者站点根目录)。 因为这是纯静态站点,不需要编译。

第三步:配置 DNS 解析

上传之后平台会给你一个临时地址,比如 ghsy-blog.pages.dev。 接下来在你的域名服务商后台(购买 ghsy1.xyz 的地方)添加解析记录。

用 Cloudflare Pages 时:把域名接入 Cloudflare 后,进入 Pages 项目的「自定义域」填上 ghsy1.xyz,解析记录和证书会自动创建;同时再加一条 www 的 CNAME 指向项目地址,让带 www 的访问也能打开。

用 GitHub Pages 时:需要手动添加这些记录。

类型名称值作用
A@185.199.108.153把主域名指向 GitHub 的服务器
A@185.199.109.153
A@185.199.110.153
A@185.199.111.153
CNAMEwww你的用户名.github.io让 www.ghsy1.xyz 也能访问

记录里的 @ 表示主域名本身(也就是 ghsy1.xyz)。 保存后通常几分钟到几小时生效,生效之后后台会显示「解析正常」。

第四步:开启 HTTPS

浏览器地址栏的那把小锁代表流量被加密。上面几家托管平台都提供免费证书, 你只需要在后台找到一个类似 「强制 HTTPS」 或 「Always Use HTTPS」 的开关,打开它。

证书一般会在解析生效后自动签发,如果一开始提示「证书还在申请」, 等十几分钟再看即可,不需要自己上传任何文件。

第五步:让搜索引擎找到你

上线只是第一步,还要主动告诉搜索引擎这里有个新站点:

  • 在 Google Search Console 提交 https://blog.ghsy1.xyz/sitemap.xml;
  • 国内的 百度搜索资源平台 也支持提交站点地图;
  • 确认 robots.txt 里没有误写成禁止抓取,本模板默认是允许抓取的。

之后每写一篇新文章

把这个清单走一遍就好了,熟练之后大约三分钟:

  1. 复制 templates/post-template.html,另存为 posts/新文章地址.html;
  2. 替换标题、摘要、日期和正文;
  3. 在 / 里复制一张卡片,改掉链接和文字;
  4. 把新页面加进 sitemap.xml 和 feed.xml;
  5. 把改动提交到 GitHub(如果用了自动部署),网站会自动更新。

写在最后

整个流程里唯一需要花钱的是域名本身,托管、证书、CDN 都可以免费。 真正需要耐心的是 DNS 生效那几十分钟 —— 这时候不妨去泡杯茶, 回来刷新一下,看到自己的域名叫出第一声「你好」,那种感觉挺值的。