2 minutes
我的博客平台选型之路:从Halo到Hexo再到Hugo
前言
作为一个喜欢写作和分享的开发者,拥有自己的博客一直是我的追求。在这几年的博客搭建历程中,我先后尝试了Halo、Hexo和Hugo三个平台。今天想和大家分享一下我的选型历程,以及最终选择Hugo的原因。
我的博客平台探索历程
第一站:Halo - 从技术偏好到理性选择
我最早接触的博客平台是Halo。作为一个Java开发者,选择Halo似乎是理所当然的事情。
为什么最初选择Halo
技术栈的亲切感: 作为一名Java开发者,看到Halo是用Spring Boot开发的,第一反应是"这个我熟悉!"。当时天真地想着:
- 既然是Java写的,我可以自己定制功能
- 遇到问题可以直接看源码解决
- 说不定还能贡献一些代码,参与开源项目
功能的完善性:
- 后台管理系统 - 可视化的管理界面,对非技术用户友好
- 主题丰富 - 社区提供了大量精美的主题
- 插件生态 - 评论系统、统计分析等插件一应俱全
- 动态功能 - 可以随时在线编辑和发布文章
理想与现实的差距
使用了一段时间后,我发现自己陷入了一个误区:
1. 定制化的陷阱
最初确实尝试过修改源码,添加了一些自己想要的功能。但很快就发现问题:
- 孤岛版本风险 - 我的修改可能不会被官方接受,即使提交PR也未必会被合并
- 升级困难 - 一旦修改了代码,后续官方版本升级就会面临代码冲突
- 维护成本 - 需要持续跟踪上游变化,解决合并冲突
- 时间黑洞 - 大量时间花在了折腾系统上,而不是写作本身
2. 本末倒置的折腾
某天我突然意识到一个问题:博客的核心价值在于内容记录和分享,而不是博客系统本身。我花了太多时间在:
- 调试主题样式
- 优化数据库查询
- 修改源码功能
- 处理服务器问题
而真正用于写作的时间却越来越少。这完全违背了我搭建博客的初衷。
3. 现实的经济考量
压倒骆驼的最后一根稻草是:我的云服务器到期了。
看着续费账单,我开始认真思考:
- 一台能流畅运行Java应用的服务器,年费至少500-1000元
- 还需要定期维护:系统更新、安全补丁、数据备份
- 偶尔还要处理服务器宕机、内存溢出等问题
- 这些成本和精力,对于一个个人博客来说真的值得吗?
当我了解到GitHub Pages和Vercel这些免费的静态网站托管服务后,我意识到是时候做出改变了。
第二站:Hexo - 静态博客的初体验
放弃Halo后,我开始寻找静态博客生成器。首先尝试的是在中文社区很火的Hexo。
转变的轻松:
- 零成本部署 - GitHub Pages完全免费
- 纯静态文件 - 不用担心服务器安全和维护
- 版本控制 - 所有内容都在Git中,永不丢失
Hexo的优势:
- 中文社区活跃 - 文档、教程、主题都很丰富
- Node.js生态 - 插件众多,功能扩展方便
- 主题精美 - 特别是NexT、Butterfly等主题,非常漂亮
使用中发现的问题:
- 构建速度 - 文章多了之后,每次生成要等10-20秒
- 依赖臃肿 - node_modules文件夹经常超过300MB
- 环境依赖 - 换电脑需要重新配置Node.js环境
- 版本兼容 - Node版本、包版本偶尔会有兼容性问题
虽然Hexo解决了服务器成本问题,但在使用体验上还是有些不够理想。
第三站:Hugo - 找到最适合的方案
在使用Hexo的过程中,我注意到很多技术博主都在推荐Hugo,说它构建速度快、使用简单。抱着试试看的心态,我开始了解Hugo,这一试就让我决定长期使用它。
让我决定使用Hugo的关键点
1. 真正的轻量级
- Hugo只是一个二进制文件,下载即用
- 没有复杂的依赖管理
- 项目文件干净清爽,没有臃肿的依赖目录
2. 闪电般的速度
# Hexo构建100篇文章
$ hexo generate
INFO Generated: 100 files in 15.2s
# Hugo构建100篇文章
$ hugo --gc --minify
Built in 287 ms
这个速度差异在日常使用中体验非常明显。
3. 部署的便利性
配合Vercel使用,我现在的发布流程是:
- 本地写完文章
git push推送到GitHub- Vercel自动构建并部署
- 30秒后,新文章就上线了
完全不需要关心服务器、部署脚本、CDN配置等问题。(详细部署教程见:使用Vercel部署Hugo博客)
4. 专注于写作
Hugo让我重新找回了写博客的初心:
- 不再折腾系统配置
- 不再担心服务器问题
- 不再纠结主题样式
- 把精力放在内容创作上
三个平台的对比总结
| 特性 | Halo | Hexo | Hugo |
|---|---|---|---|
| 类型 | 动态博客 | 静态生成器 | 静态生成器 |
| 语言 | Java | Node.js | Go |
| 部署成本 | 需要服务器(¥500-1000/年) | 免费(静态托管) | 免费(静态托管) |
| 构建速度 | 无需构建 | 较慢(10-20秒) | 极快(<1秒) |
| 环境依赖 | JVM + MySQL | Node.js + npm | 单二进制文件 |
| 依赖大小 | 服务器部署 | ~300MB(node_modules) | ~30MB(含主题) |
| 学习曲线 | 中等 | 中等 | 简单 |
| 主题生态 | 丰富 | 非常丰富 | 丰富 |
| 定制难度 | 需要Java知识 | 需要前端知识 | 基础即可 |
| 维护成本 | 高(服务器+时间) | 低 | 极低 |
| 适合人群 | 需要动态功能的团队 | 前端开发者 | 所有人 |
我的心路历程总结
从折腾到专注
这几年的博客平台迁移,让我明白了一个道理:
工具应该为目的服务,而不是成为目的本身。
作为开发者,我们很容易陷入技术的舒适区:
- 看到熟悉的技术栈就想上手改造
- 总想着自己的定制化会更好
- 把大量时间花在优化系统上
但博客的本质是记录和分享,而不是展示技术能力。
成本与价值的权衡
从每年几百上千的服务器费用,到现在完全免费的静态托管,我省下的不仅是金钱,更是时间和精力:
- 不用半夜爬起来重启服务器
- 不用担心数据库备份
- 不用处理安全漏洞
- 不用优化服务器性能
这些省下来的时间,都可以用来创作更多有价值的内容。
简单即是美
Hugo的简单给了我最好的体验:
- 安装简单:下载一个文件即可
- 使用简单:几个命令搞定一切
- 部署简单:Git推送自动发布
- 维护简单:几乎不需要维护
当工具足够简单时,你才能真正专注于创作。
给正在选型的朋友的建议
如果你是Java开发者
不要像我一样,因为"是Java写的"就选择Halo。问问自己:
- 你真的需要动态功能吗?
- 你愿意为服务器付费吗?
- 你有时间维护服务器吗?
- 你是想写博客还是想改博客系统?
如果你追求零成本
静态博客 + 免费托管是最佳选择:
- GitHub Pages:最稳定的免费托管
- Vercel:构建快速,全球CDN
- Netlify:功能丰富,也很不错
如果你想专注写作
选择最简单的工具:
- Hugo - 如果你想要极致的简单和速度
- Hexo - 如果你需要丰富的中文资源
- 其他 - 如果你有特殊需求
结语
博客平台没有最好,只有最适合。对我而言,从Halo到Hexo再到Hugo的历程,是一个从复杂到简单、从折腾到专注的过程。
现在使用Hugo + Vercel的组合,让我可以:
- 零成本 运行博客
- 零维护 投入精力
- 专注于 内容创作
如果你也厌倦了折腾,想要一个简单可靠的博客方案,不妨试试Hugo。记住:博客的价值在于你写下的文字,而不是运行它的系统。