Project · 进行中
个人博客与自动部署系统
基于 Astro 搭建的个人博客,完成 Markdown 内容管理、Gitee 自动部署、Nginx、HTTPS、Waline 评论与数据备份。
开始时间2026年8月20日
最近更新2026年9月4日
技术
AstroNginxWalineGitLinux
项目目标
搭建一个真正长期使用的个人博客,用来记录技术学习、项目过程和阶段性思考。
相比只把页面做出来,这个项目更关注完整的使用闭环:
- 本地使用 Markdown 写文章;
- 通过 Git 管理博客内容;
- Push 后服务器自动发现更新并重新部署;
- 使用独立域名和 HTTPS 对外访问;
- 接入评论系统并保存评论数据;
- 对重要数据进行自动备份。
整体架构
目前博客的主要链路为:
本地 Markdown
↓
Git / Gitee
↓
服务器定时检查更新
↓
Astro 自动构建
↓
Nginx
↓
chunripanghu.com
评论系统则独立运行:
博客文章
↓
comment.chunripanghu.com
↓
Nginx
↓
Waline
↓
SQLite
已实现功能
内容管理
- 使用 Astro 构建静态博客;
- Markdown / MDX 管理文章;
- 支持文章分类、标签、归档和搜索;
- 支持项目独立展示;
- 开发了本地博客管理器辅助文章编辑。
自动部署
博客代码托管在 Gitee。
服务器每 5 分钟检查一次远程仓库:
本地写作
↓
git push
↓
服务器发现新提交
↓
git pull
↓
npm build
↓
同步到 Nginx
↓
网站自动更新
日常发布文章不再需要手动登录服务器。
域名与 HTTPS
目前已经完成:
- 独立域名
chunripanghu.com; - ICP 备案;
- DNS 解析;
- Nginx 多站点配置;
- Let’s Encrypt HTTPS;
- Certbot 自动续期。
评论系统
使用 Waline 自托管评论系统:
- Waline Server 部署在自己的服务器;
- SQLite 保存评论数据;
- systemd 后台常驻并开机启动;
- 使用
comment.chunripanghu.com独立子域名; - 支持评论后台管理。
数据备份
Waline 评论数据库每天自动备份:
SQLite
↓
在线备份
↓
完整性检查
↓
gzip 压缩
↓
保留 30 天
避免评论数据因为误操作丢失。
开发过程中解决的问题
这个项目实际遇到过不少部署问题,包括:
- Nginx 多个网站共存时的端口与域名规划;
- Gitee SSH 拉取与自动部署;
- Astro 静态构建;
- Waline SQLite 数据库初始化;
- systemd 用户权限;
- SSH 隧道临时测试评论后台;
- DNS 与 ICP 备案;
- HTTPS 与 Certbot;
- 小内存服务器下 Astro Build 内存不足。
其中服务器只有约 1.6GB 内存,Astro 构建峰值接近 500MB。最终通过清理不再使用的 Java 服务释放常驻内存,使自动构建恢复正常。
当前状态
博客已经正式运行于:
https://chunripanghu.com
目前主要功能已经完成,后续将以内容维护和细节优化为主。