部署安装
PrimeEdge Admin 后台管理系统的部署教程
部署安装
本章介绍如何将 PrimeEdge Admin 部署到腾讯云 EdgeOne Pages。PrimeEdge Admin 是一个静态前端 + EdgeOne Pages Functions 后端的一体化项目,不需要数据库,也不需要前端构建。
前置要求
- 腾讯云 EdgeOne Pages 账号
- Gitee 或 GitHub 账号 + 私人访问令牌
- 一个 Hugo 博客仓库(托管在 Gitee 或 GitHub)
部署步骤
1. 获取后台源码
git clone https://gitee.com/k_ok/primeedge-admin.git
cd primeedge-admin
2. 部署到 EdgeOne Pages
- 登录 EdgeOne Pages 控制台
- 新建项目 → 导入 Git 仓库(关联你 fork 的 primeedge-admin 仓库)
- 部署配置:
- 构建命令: 留空(无需构建)
- 输出目录:
public - Functions 目录:
functions
- 绑定 KV 命名空间:
ADMIN_KV:必填,用于保存后台设置、登录限流、内容缓存和图床配置WALINE_KV:可选,绑定到 Waline 评论服务同一个 KV 后,后台可使用「评论管理」和「评论设置」
3. 配置环境变量
在 EdgeOne Pages 控制台 → 项目设置 → 环境变量中添加:
| 变量名 | 必填 | 说明 |
|---|---|---|
ADMIN_PASSWORD | 是 | 后台登录密码 |
JWT_SECRET | 是 | JWT 签名密钥(建议 32 位随机字符串) |
ADMIN_PASSWORD_HASH | 否 | PBKDF2 密码哈希;配置后优先于 ADMIN_PASSWORD |
GIT_PLATFORM | 否 | gitee 或 github,也可登录后在系统设置中保存 |
GITEE_TOKEN / GITHUB_TOKEN | 否 | 仓库访问令牌,也可登录后在系统设置中保存 |
GITEE_OWNER / GITHUB_OWNER | 否 | 仓库所有者 |
GITEE_REPO / GITHUB_REPO | 否 | Hugo 博客仓库名 |
GIT_BRANCH | 否 | 仓库分支 |
生成 JWT_SECRET 的方法:
openssl rand -base64 32
4. 首次登录
- 访问部署完成后的域名(如
https://your-project.edgeone.cool/) - 输入你设置的
ADMIN_PASSWORD登录 - 登录后系统会自动跳转到仪表盘
后台会同时返回 JWT 和设置 admin_token HttpOnly Cookie。Token 有效期为 24 小时。
5. 配置仓库信息
登录后进入 系统设置 页面,填写以下信息:
选择 Gitee 平台
| 配置项 | 说明 |
|---|---|
| 托管平台 | 选择 Gitee |
| Access Token | 在 Gitee → 设置 → 私人令牌 中生成,需勾选 projects 权限 |
| 仓库所有者 | 你的 Gitee 用户名(如 k_ok) |
| 仓库名称 | Hugo 博客仓库名(如 kokblog) |
| 分支名称 | 默认 master,按实际情况填写 |
选择 GitHub 平台
| 配置项 | 说明 |
|---|---|
| 托管平台 | 选择 GitHub |
| Access Token | 在 GitHub → Settings → Developer settings → Personal access tokens 中生成,需勾选 repo 权限 |
| 仓库所有者 | 你的 GitHub 用户名或组织名 |
| 仓库名称 | Hugo 博客仓库名 |
| 分支名称 | 默认 main,按实际情况填写 |
填写完毕后点击 测试连接,显示"连接成功"即表示配置正确。点击 保存设置。
6. 版本检测配置(可选)
在你的 Hugo 博客仓库的 static/ 目录下创建 version.json 文件:
{
"theme": "1.0.0",
"admin": "1.0.0"
}
博客部署后,后台仪表盘会自动读取该文件并与内置版本号对比,有新版本时会提示更新。
7. 评论管理绑定(可选)
如果你已经部署了 Waline On EdgeOne,并希望在 PrimeEdge Admin 内直接审核、回复、置顶、删除评论,需要在 Admin 项目中额外绑定评论服务同一个 KV 命名空间,绑定名称为 WALINE_KV。
| 菜单 | 依赖 |
|---|---|
| 评论系统 -> 评论管理 | WALINE_KV |
| 评论系统 -> 评论设置 | WALINE_KV |
未绑定 WALINE_KV 不影响文章、笔记、文档、相册等博客内容管理。
安全说明
- 登录采用 JWT Token 认证,有效期由系统控制
- 登录失败采用递增锁定:第 6 次失败锁定 1 分钟,第 9 次 3 分钟,第 12 次 10 分钟,第 15 次 30 分钟,第 18 次 1 小时,第 21 次 24 小时
- 支持
ADMIN_PASSWORD_HASH哈希密码,兼容ADMIN_PASSWORD明文密码配置 - Git Token 存储在 EdgeOne KV 中,不会暴露给前端
- 所有 API 请求需携带有效的 JWT Token
数据存储
本系统不使用传统数据库:
| 数据类型 | 存储位置 |
|---|---|
| 文章/笔记/好物等内容 | Gitee 仓库(Markdown 文件) |
| 系统设置 | EdgeOne KV |
| 列表缓存 | EdgeOne KV |
| 图床配置 | EdgeOne KV (imagebed_config) |
| 登录状态 | 浏览器 localStorage (JWT) |
| 主题偏好 | 浏览器 localStorage |
常见问题
Q: 部署后访问白屏
A: 检查 EdgeOne Pages 的 Functions 目录是否正确设置为 functions,以及 KV 绑定名称是否为 ADMIN_KV。
Q: 登录失败提示"密码错误"
A: 确认环境变量 ADMIN_PASSWORD 设置正确。修改后需重新部署生效。
Q: 测试连接失败
A: 检查 Token 是否有效,仓库所有者和仓库名是否正确。Gitee Token 需要 projects 权限,GitHub Token 需要 repo 权限。确认所选平台与 Token 来源一致。
Q: 被锁定如何解除
A: 按错误次数等待对应锁定时间,或在 ADMIN_KV 中删除 ratelimit:{ip} 对应记录。
Q: 评论管理提示 WALINE_KV 未绑定
A: Admin 项目没有绑定评论服务的 KV。给 Admin 项目增加 WALINE_KV 绑定,并选择 Waline 服务正在使用的同一个 KV 命名空间。
评论