Qexo - 全新Hexo在线管理器

Qexo 是一个快速、强大、美观的在线 Hexo 编辑器。使用 GPL3.0 开源协议。支持包括且不限于在 Vercel 等平台部署,为您的静态博客添加动态的元素

该文章可能不会随版本更新而更新,教程请移步 Qexo文档

特色功能

  • 文章管理~全新界面

    • 2.0版本的 Qexo 重新设计了文章编辑页面,您可以更优雅地进行文章编辑
    • 支持多种图床上传,上传尽在弹指之间
  • 缓存功能~速度至上

    • 支持将文章、页面、配置索引一键缓存至数据库,保证您的高速访问
    • Webhook 全自动清除缓存,时刻保持数据最新
  • 麻雀虽小~五脏俱全

    • 模块化架构
    • 支持多种 Hexo 托管商 Github、Gitlab、本地
    • 多种图床协议支持 Github、S3、FTP、远程API
    • Markdown 语法 + 多种编辑界面,所见即所得
    • 通知中心 通知栏 + 红点标记
    • 多形式推送 Bark、Telegram、Pushdeer、Wechat…
    • reCaptcha 防止垃圾信息侵害
    • 友情链接 前端申请,一键接入
    • 自动更新 简单方便,保持最新
    • 自定字段 / 站点统计 / 页面管理 / 配置编辑
    • 评论通知 / 图片上传 / 标识生成 / API 拓展

快速开始

Github 开源仓库:https://github.com/am-abudu/Qexo
Wiki:https://www.oplog.cn/qexo

无服务器部署

本文限于篇幅只给出 Vercel+MongoDB 部署的方法,本程序还支持本地部署或 Vercel+Mysql/PlanetScale,请查看 文档 以了解更多

申请 MongoDB

注册 MongoDB 账号 创建免费 MongoDB 数据库,区域一定要选择 AWS / N. Virginia (us-east-1) 在 Clusters 页面点击 CONNECT,按步骤设置允许所有 IP 地址的连接),创建数据库用户,并记录数据库连接信息,密码即为你所设置的值

一键部署

部署到 Vercel

首次部署会报错, 请无视并重新进入项目, 在项目设置界面添加环境变量 Environment Variables

名称意义示例
DOMAINS你所允许通信的安全域名 注意双引号而且是英文半角[“.vercel.app”, “127.0.0.1”, “.yoursite.com”]
MONGODB_HOSTMongoDB 数据库连接地址mongodb+srv://cluster0.xxxx.mongodb.net
MONGODB_PORTMongoDB 数据库通信端口 默认应填写 2701727017
MONGODB_USERMongoDB 数据库用户名abudu
MONGODB_DBMongoDB 数据库名Cluster0
MONGODB_PASSMongoDB 数据库密码JWo0xxxxxxxx

在 Deployments 点击 Redeploy 开始部署,若没有 Error 信息即可打开域名进入初始化引导

常见问题

什么是 API 密钥

在您完成初始化之后可在设置界面修改/创建 API 密钥,用于 Webhook 中的身份验证。若留空系统会随机生成一个 API 密钥

为什么我新建的文章没有显示 | Qexo 如何保证文件最新

Qexo 为了加快访问速度引进了缓存机制,你可以在设置清除缓存 & 设置 Webhook自动清除缓存

Webhook 是什么

Qexo 中的 Webhook 指 /api/webhook 用于自动化操作,目前可用于自动清除缓存

安装后出现 504 Time out

  1. 您的数据库没有正确配置或没有允许所有 IP 白名单访问,可在 MongoDB 控制台进行修改,修改完成后一定要重新部署
  2. 删除并重建数据库,注意区域一定要选择 AWS / N. Virginia (us-east-1)

安装/更新后出现 5xx 错误

Qexo 每个 Release 都经过 Dev 分支的测试,一般情况下不会出现较大问题,如果你遇到了500等错误,请尝试以下步骤

  1. 检查数据库配置
  2. 清除浏览器缓存 / 程序缓存
  3. /settings.html 页面检查 Hexo 服务商配置并点击保存
  4. /advanced.html 中点击“修复”按钮
  5. 若无法登录请使用API: /pub/fix?token=(Your API Key)
  6. 保留数据库配置的环境变量并重新部署
  7. 重新部署整个程序
  8. 尝试 Dev 分支

AssertionError(“xxx object … its id attribute is set to None.”)

请检查你是否曾使用过0.01或0.1版本,这两个版本有严重问题,请重新创建数据库并部署

如何创建子目录下的文章

在文章名一栏填写 dir/filename 例如您希望创建 source/_posts/about/me.md 则需要输入 about/me

KeyError: ‘XXX’

表示并没有获取到 “XXX” 这个环境变量,请根据表格添加后 Redeploy

名称意义示例
DOMAINS你所允许通信的安全域名 注意双引号而且是英文半角[“.vercel.app”, “127.0.0.1”, “.yoursite.com”]
MONGODB_HOSTMongoDB 数据库连接地址mongodb+srv://cluster0.xxxx.mongodb.net
MONGODB_PORTMongoDB 数据库通信端口 默认应填写 2701727017
MONGODB_USERMongoDB 数据库用户名abudu
MONGODB_DBMongoDB 数据库名Cluster0
MONGODB_PASSMongoDB 数据库密码JWo0xxxxxxxx

Github 配置校验错误

如果配置中遇到问题,可以访问 HPP校验助手 自检配置,若确认无误,可检查仓库内是否有已经发布的文章

注意:Github 仓库一定为您 Hexo 自动化部署所在的仓库

Vercel 用量问题

Vercel 的无服务器函数用量对于 Qexo 来说是充裕的,但这依然抵挡不住有心之人的攻击行为,所以要保护好自己后台地址,不过好在 Vercel 不会随意扣费,所以在资源用完之后并不会产生费用,若依然不放心可以考虑部署在自己的服务器上 #服务器部署#

在线更新失败了

检查高级设置中的 VERCEL_TOKEN 和 PROJECT_ID 是否正确为 Qexo 的部署项目

其他问题

如果还有问题,可以发 issue 或加入 HexoPlusPlus交流群 询问

如何更新

一键更新

  • 在 Settings 页完成在线更新相关设置 -> 远程分支可为master(较稳定)/dev(测试版)
  • 刷新页面 点击“同步更新”

手动更新

  • 创建 Pull Request 并拉取 Qexo 主分支源码

鸣谢

Qexo 的诞生离不开这些项目的付出

Qexo - 全新Hexo在线管理器

http://www.oplog.cn/archives/59651.html

作者

啊不都

发布于

2021-11-21

更新于

2023-01-01

许可协议

CC BY 4.0

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×