博客评论系统迁移:从 Valine 到 Waline
背景
LeanCloud 官方公告将于 2027 年 1 月 12 日停止对外提供服务。作为 Valine 评论系统的数据存储后端,这意味着所有依赖 LeanCloud 的 Valine 评论数据将面临丢失风险。
我的博客之前使用 Valine + LeanCloud 的组合,必须在此之前完成迁移。经过调研,最终选择了 Waline 作为替代方案。
为什么选择 Waline
Waline 是 Valine 的继任者,主要优势:
- 数据迁移简单:支持从 LeanCloud 直接导入评论数据
- 功能更丰富:支持邮件通知、微信通知、垃圾评论过滤、评论管理后台
- 部署灵活:支持 Vercel、Railway、自建服务器等多种部署方式
- 兼容 Valine:前端配置几乎一样,迁移成本低
- 持续维护:活跃的开源社区,定期更新
部署步骤
1. 部署 Waline 到 Vercel
- 访问 Waline 官网
- 点击「部署到 Vercel」按钮
- 授权 Vercel 访问 GitHub
- 创建仓库并部署
部署完成后会获得一个 Vercel 域名,如 https://your-project.vercel.app。
2. 创建数据库
Waline 需要一个数据库存储评论数据。Vercel 已集成 Neon(PostgreSQL 云数据库),可以直接在 Vercel 中创建:
- 在 Vercel 项目中进入 Storage → Create Database
- 选择 Neon Postgres
- 选择区域(建议选 Singapore 或 Tokyo,延迟较低)
- 创建完成后会自动生成环境变量
Neon 免费版提供:
- 0.5 GB 存储
- 自动休眠(无访问时暂停,访问时自动唤醒)
- 足够个人博客使用
3. 配置环境变量
创建 Neon 数据库后,Vercel 会自动注入 DATABASE_URL 环境变量,无需手动配置。
如果需要手动添加,在 Vercel 项目 Settings → Environment Variables 中添加:
| 变量名 | 说明 |
|---|---|
DATABASE_URL |
Neon 连接字符串 |
配置完成后 Redeploy 项目。
4. 绑定自定义域名(可选)
- Vercel 项目 → Settings → Domains
- 添加你的域名,如
comments.yourdomain.com - 在域名服务商处添加 CNAME 记录指向 Vercel
5. 修改博客配置
修改 Hexo 的 Butterfly 主题配置文件 _config.butterfly.yml:
1 | comments: |
数据迁移
1. 导出 LeanCloud 数据
- 登录 LeanCloud 控制台
- 选择应用 → 数据存储 →
_Comment表 - 点击「导出数据」→ 选择 JSON 格式
2. 转换数据格式
LeanCloud 导出的数据格式与 Waline 不同,需要转换。可以使用以下脚本:
1 | const fs = require('fs'); |
运行脚本:
1 | node convert.js |
3. 导入到 Waline
- 访问你的 Waline 管理后台:
https://comments.yourdomain.com/ui - 首次访问设置管理员账号
- 进入「管理」→「导入」
- 上传转换后的
waline_import.json文件
配置邮件通知
Waline 支持评论邮件通知,以 QQ 邮箱为例:
1. 获取授权码
- 登录 QQ 邮箱网页版
- 设置 → 账户 → POP3/IMAP/SMTP服务
- 开启「IMAP/SMTP服务」
- 生成授权码
2. 配置环境变量
在 Vercel 中添加:
| 变量名 | 值 |
|---|---|
SMTP_SERVICE |
QQ |
SMTP_USER |
你的QQ邮箱 |
SMTP_PASS |
邮箱授权码(不是密码) |
SMTP_SECURE |
true |
SITE_NAME |
博客名称 |
SITE_URL |
博客地址 |
AUTHOR_EMAIL |
博主邮箱(接收通知) |
配置后 Redeploy 项目即可生效。
总结
从 Valine 迁移到 Waline 的完整流程:
- 在 Vercel 部署 Waline 服务
- 创建数据库并配置环境变量
- 从 LeanCloud 导出评论数据
- 转换格式后导入 Waline
- 修改博客配置指向新的评论服务
- 可选:配置邮件通知和头像
Waline 相比 Valine 功能更完善,社区更活跃,是目前博客评论系统的不错选择。如果你的博客也在使用 Valine + LeanCloud,建议尽早迁移,避免数据丢失。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 panghutx's Blog!
评论


