个人博客建站流程
个人博客上线的完整记录,一个很不理想的“踩坑流程”。
这里把关键决策、问题原因和修复方式都写清楚,后面自己重搭时可以直接复用也当作教程发布。
主流建站路线
免服务器路线
适合技术新手、轻量展示需求、希望快速上线的人。
典型方案:
GitHub Pages+Hugo/Hexo- 成本低,甚至可以接近 0 成本
- 不需要维护服务器
官网参考:
传统服务器路线
适合想要完全掌控、后续可能扩展动态功能的人。
典型方案:
- 购买云服务器 + 域名
- 自建 Nginx + 静态站,或部署 WordPress/Typecho
官网参考:
我最终选择的是传统服务器路线,因为我已经买了 1 年的云服务器,不想浪费。
我的实际方案
- 云服务器:华为云 ECS(已购 1 年)
- 域名:阿里云购买
xedczq.cn - 站点:静态博客(Hugo 生成 + Nginx 提供服务)
官网参考:
我当时的想法很简单:
- 服务器用已有的(省钱)
- 域名选便宜的(继续省钱)
后面事实证明,这两个“省钱决策”都没有错,但会带来额外的网络和备案流程复杂度。
域名购买与解析
我在阿里云买完 xedczq.cn 后,第一时间把 DNS 解析到了华为云服务器 IP,目的是先验证公网可达。
这一步我建议先做三个最小验证:
- 本地
nslookup 域名是否解析到目标 IP - 服务器端服务是否真的监听在对外端口(80/443)
- 安全组与防火墙端口是否放行
ICP 备案
我遇到的第一个硬问题就是:ICP备案。
什么情况下需要 ICP 备案
通常需要备案的场景:
- 服务器在中国大陆机房
- 域名要在中国大陆提供互联网信息服务
通常不需要备案的场景:
- 服务器不在中国大陆(如香港、海外)
- 仅面向海外访问
官方查询与说明入口(以工信部体系为准):
因为我不想重新买海外服务器,所以走了完整备案流程,前后大约 10 天。
挂梯子后无法访问的问题
备案过后,我遇到了第二个问题:
- 不挂梯子能访问
- 挂梯子后访问异常
这个问题通常和“解析链路、代理线路、DNS 解析策略、地区网络路径”有关,不是单点故障。
我一开始以为是华为服务器防火墙挡住了境外ip访问,查了半天突然发现直接用服务器ip可以访问到…
那就只能是 DNS 与线路策略存在地域差异,发现阿里云免费的DNS服务是只提供国内的解析,于是开始尝试引入 Cloudflare 做统一解析与代理。
Cloudflare 接入域名
我把域名托管到了 Cloudflare,想解决跨地区访问稳定性问题。
官网参考:
Cloudflare 的核心优势:
- 全球 Anycast 网络
- DNS 生效快、可观测性好
- 可选 CDN / WAF / 基础防护
- 支持代理(橙色云)与仅 DNS(灰色云)两种模式
我踩到的点
我最开始直接开了“小橙云”(代理模式),结果站点反而不可用。
排查后发现问题核心是:
- 代理模式会让访问先到 Cloudflare 边缘,再回源到我的服务器
- 回源链路、证书模式、源站策略、备案接入条件如果没配齐,就可能触发访问异常
域名接入点备案
Cloudflare 接入后又触发了“域名接入点备案”相关问题。我的处理方式是:
- 先临时关闭代理(灰云,仅 DNS)
- 回到华为云按要求做接入备案
- 等待审核通过(我这次约 4 天)
这一步结束后,访问路径恢复稳定。
HTTPS 上线
最后一步是在服务器申请并部署免费 HTTPS 证书,完成全站加密访问。
我这里采用的是免费证书方案(如 Let’s Encrypt 体系),并配置了 HTTP -> HTTPS 跳转。
官网参考:
到这里,博客才算真正完成上线。
我这次流程的时间线
- 域名购买与首轮解析:当天完成
- ICP 备案:约 10 天
- Cloudflare 接入与排查:1~2 天
- 域名接入备案:约 4 天
- HTTPS 部署:当天完成
最后总结
如果我只追求“最快上线”,我会直接选免服务器路线。 如果我追求“长期可控 + 可扩展”,服务器路线是值得的,但有几个注意事项:
- 如果你没有购买服务器,尽量购买一个境外服务器,可以直接一步通关
- 已经有服务器的话,尽量在服务器的同厂商购买域名,例如:华为云服务器就在华为云购买域名..
- 当然如果你也像我一样贪便宜买了不同厂商的国内服务器和域名,至少你还有这篇踩坑文章可以查看
- 个人备案需要时间成本
- 解析与代理是网络工程问题,不是一条命令的问题
- 证书、回源、接入策略必须一起看,单点优化往往无效
这次建站最大的收获不是“会搭博客”,而是我对域名、DNS、备案、代理、回源链路这整条路径有了完整认知。