离职后的个人技术阵地:为什么选择阿里云托管Hexo博客
2025 年 10 月,当我结束上一份996的工作时,突然意识到需要一个完全属于自己的技术阵地。GitHub Pages虽然免费,但自定义域名必须绑定二级域名(https://mrgbro.github.io/),而且国内访问速度不稳定;WordPress托管平台则受限于服务商的模板和功能。作为一名开发者,我需要100%的控制权——从域名解析到服务器配置,从SSL证书到缓存策略,每一个细节都要自己掌控。
这个需求直接指向了两个核心问题:域名如何解析到自有服务器?用什么方案托管静态博客最省心?经过调研,阿里云ECS成为最优解:学生机9.9元/月的入门价格,弹性扩展的配置选项,以及完整的备案服务(国内服务器必备),完美平衡了成本与自由度。
静态服务器三选一:为什么Caddy比Nginx和Apache更适合个人博客
确定使用阿里云ECS后,接下来要解决的是用什么软件提供静态文件服务。目前主流的选择有Nginx、Apache HTTPD和Caddy,我从配置复杂度、HTTPS支持、性能优化三个维度做了深度对比:
配置文件对比:从”写代码”到”说人话”
Nginx的配置需要理解server块、location指令等概念,即使是简单的静态服务也需要编写多行配置:
server { |
Apache HTTPD则更复杂,需要修改httpd.conf主配置文件,再通过.htaccess文件补充设置,容易出现配置冲突。
而Caddy的配置堪称”革命性”——用自然语言描述需求即可:
homeey.top { |
这种”声明式”配置极大降低了上手门槛,对非专业运维人员友好度拉满。
HTTPS支持:从手动申请到自动续期
Nginx需要手动从Let’s Encrypt申请证书,配置ssl_certificate和ssl_certificate_key,每90天还要手动续期(或配置crontab脚本)。Apache的HTTPS配置步骤类似,同样繁琐。
Caddy则内置ACME协议客户端,会自动向Let’s Encrypt申请证书并续期,只需在配置文件中指定邮箱(用于证书到期提醒),全程零手动操作。这一点对个人博客尤为重要——谁也不想因为忘记续期导致网站标红。
上手难度与生态:个人博客的”刚刚好”选择
Nginx性能强劲,但配置灵活意味着复杂度高,适合企业级应用;Apache生态丰富,但模块众多导致资源占用较高;Caddy专注于”开箱即用”,默认启用HTTP/2,支持自动GZIP压缩,对静态博客来说功能不多不少,恰到好处。
结论:Caddy以极简配置、自动HTTPS、低资源占用的优势,成为个人博客的理想选择。接下来我们将通过Docker部署Caddy,进一步简化安装和升级流程。
从零开始部署:阿里云ECS + Docker + Caddy实战指南
整个的目录规划如下:

第一步:购买并初始化阿里云ECS
- 选择配置:访问阿里云ECS控制台,新用户推荐”云服务器ECS-入门型”,2核2G内存配置足够支撑日均1000IP的博客访问。
- 操作系统:选择Ubuntu 22.04 LTS,对Docker支持友好,且命令行工具完善。
- 安全组配置:务必开放80(HTTP)、443(HTTPS)端口,否则网站无法访问。在ECS控制台”安全组”页面添加两条入站规则:
- 端口范围:80/80,授权对象:0.0.0.0/0
- 端口范围:443/443,授权对象:0.0.0.0/0
第二步:安装Docker和Docker Compose
安装请参照这篇文章的教程:https://help.aliyun.com/zh/ecs/user-guide/install-and-use-docker
第三步:编写Caddyfile配置文件
在服务器上创建/mydata/caddy目录(我是 root 账号),用于存放博客文件和Caddy配置:
mkdir -p ~/mydata/caddy/{config,data,html} |
创建Caddyfile(注意替换为你的域名和邮箱):
homeey.top { |
第四步:通过Docker部署Caddy服务
创建docker-compose.yml文件,定义Caddy服务:
version: "3.8" |
启动服务:
docker compose up -d |
此时Caddy会自动完成:申请SSL证书 → 配置HTTPS → 启用Gzip压缩 → 设置缓存策略,整个过程无需人工干预。
第五步:生成并部署Hexo博客文件
我是在本机上写博客然后托管到 github 上这样可以有容灾备份。那我的整个部署流程是:

我利用 chatgpt 写了如下的部署脚本(deploy_hexo.sh):
!/bin/bash |
注意:这里需要你的服务器具备 node 环境,版本和你本机上的 node 版本保持一致,防止出现版本不一致带来的兼容性问题
第六步:配置域名解析
登录阿里云域名控制台,添加两条解析记录:
- A记录:主机记录@,记录值你的服务器公网IP,TTL 10分钟
- A记录:主机记录www,记录值你的服务器公网IP,TTL 10分钟
等待解析生效(通常10-30分钟)后,就能通过域名访问博客了。
从想法到上线:个人博客托管的最佳实践总结
回顾整个过程,从离职后萌生建站想法,到最终通过阿里云ECS + Docker + Caddy部署完成,总共花费了3天时间和不到50元成本(含域名和服务器)。这个方案的核心优势在于:
- 完全控制权:从域名到服务器,每一个环节都自主掌控
- 极简维护:Caddy自动处理HTTPS和证书续期,Docker简化版本升级
- 性能优化:缓存策略 + CDN加速,实现毫秒级页面加载
- 低成本启动:学生机9.9元/月,随着访问量增长可弹性升级配置
如果你也想拥有一个完全属于自己的技术博客,这个方案值得尝试。记住,最好的学习方式就是动手实践——现在就打开阿里云控制台,开始搭建你的个人技术阵地吧!