Article
用 Go + Next.js 搭一套可上线的个人博客
用 Go + Next.js 搭一套可上线的个人博客
个人博客看起来简单,真正要长期用,往往要同时解决三件事:写作体验、管理后台、稳定部署。
为什么拆成 Go API + Next.js
- Go(Gin + GORM):接口清晰、部署体积小,适合文章 / 评论 / 鉴权这类 CRUD 与业务边界明确的服务。
- Next.js(App Router):SSR/静态混合渲染对 SEO 友好,前台与后台可同仓维护。
- 同源反代:浏览器只访问域名下的 「/」、「/api」、「/uploads」,避免跨域和公私网地址混用。
核心模块
| 模块 | 职责 |
|---|---|
| 文章 | Markdown 存储、slug、置顶、草稿/发布 |
| 分类 / 标签 | 多对多,前台筛选与归档 |
| 评论 | 审核流(待审 / 通过 / 拒绝) |
| 后台 | JWT + 角色,管理内容与友链 |
接口约定
前台列表与详情走公开接口;写操作一律进 「/api/admin/*」,并校验 「Authorization: Bearer
内容字段存 Markdown,由前端渲染,后端不负责排版 HTML,减少 XSS 面。
部署形态
生产环境推荐:
- Docker Compose 跑 MySQL / backend / frontend
- 宿主机 Nginx 反代到本机端口(避免容器抢 80/443)
- 域名备案通过后,「lostyouth.cn」 与 「www」 同站点、根路径直出
小结
先把「能写、能发、能备份、能升级」跑通,再谈主题皮肤与花活。博客的价值在持续输出,不在第一周的视觉完成度。