我的博客是怎么搭建的?—— 系统架构全解析
我的博客是怎么搭建的?—— 系统架构全解析 🌐
历时多日,我的个人博客终于搭建完成。作为一个前IT项目经理,我把这次搭建过程记录下来,既是分享,也是给自己的一份技术笔记。
整体架构一览
用户 👤 访问 www.ffspace.online
│
▼
┌──────────────────────┐
│ EdgeOne(CDN+WAF) │ ← 安全防护 + HTTPS + 加速
└──────────┬───────────┘
│ 回源 HTTP
▼
┌──────────────────────┐
│ Caddy 反向代理 │ ← 端口 80 → 3000
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Next.js 博客 │ ← PM2 进程管理
│ localhost:3000 │
└──────────────────────┘
技术选型与理由
前端框架:Next.js 15
选 Next.js 而不是普通 React 或 Vue,主要看中它的 静态生成(SSG) 能力——文章内容在构建时就生成好 HTML 页面,访问时不需要查询数据库,速度极快。
内容管理:Markdown
文章直接用 Markdown 格式编写,存放在 content/posts/ 目录下。好处是:
- 无需后台管理系统
- 用记事本就能写
- 天然适合版本管理(Git)
- 写起来像发朋友圈一样简单
Web 服务器:Caddy
腾讯云轻量服务器预装了 Caddy,我就直接用了。Caddy 最大的特色是 自动申请和续期 SSL 证书,省去了手动配置 HTTPS 的麻烦。
CDN 与安全:腾讯云 EdgeOne
这是腾讯云的边缘安全加速平台,相当于 Cloudflare 的国内版。它帮我自动管理:
- HTTPS 证书 — 自动签发和续期
- DDoS 防护 — 防攻击
- WAF 防火墙 — 防恶意请求
- CDN 加速 — 国内节点缓存,访问更快
进程管理:PM2
Node.js 应用在服务器上需要进程管理工具,PM2 能做到:
- 开机自启
- 崩溃自动重启
- 日志管理
云服务器配置
| 配置项 | 规格 | |--------|------| | CPU | 2 核 | | 内存 | 2 GB | | 硬盘 | 40 GB SSD | | 带宽 | 3 Mbps | | 月流量 | 200 GB | | 系统 | Ubuntu 24.04 LTS |
开发与部署流程
本地写好文章或改好代码后:
本地修改 → 构建测试 → 打包上传 → 服务器构建 → PM2 重启 → 生效
整个过程自动化程度还在逐步完善中,目前 Hermes AI 助手帮我完成部署操作。
域名与备案
域名 ffspace.online 在腾讯云注册。由于服务器在国内,域名备案是必须的,目前正在审核中,这也是上线前的最后一步。
心得体会
从技术选型到上线部署,整个过程让我重温了当年做项目管理的节奏——选型、规划、执行、测试、上线,每一步都有它的考量。
用 Markdown 写博客的感觉真好,不用打开繁琐的后台,打开记事本就能写,保存即发布。这大概就是技术带来的自由吧。
"最好的架构不是设计出来的,是演进出来的。"
等备案通过,大家就能通过 www.ffspace.online 访问我的博客了。下一篇,聊聊项目管理那些事,敬请期待!😊