惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
G
Google Developers Blog
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Engineering at Meta
Engineering at Meta
B
Blog
博客园_首页
量子位
博客园 - 叶小钗
L
LangChain Blog
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
F
Fortinet All Blogs
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
D
DataBreaches.Net
雷峰网
雷峰网
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
TaoSecurity Blog
TaoSecurity Blog
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
I
Intezer
H
Help Net Security
The Hacker News
The Hacker News
The Register - Security
The Register - Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
AWS News Blog
AWS News Blog
V
V2EX
Microsoft Security Blog
Microsoft Security Blog
T
Tenable Blog
Spread Privacy
Spread Privacy
A
Arctic Wolf
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
Schneier on Security
Schneier on Security
C
CERT Recently Published Vulnerability Notes
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Last Watchdog
The Last Watchdog
Latest news
Latest news
T
Troy Hunt's Blog
L
LINUX DO - 热门话题

秋澪的博客

MediaWarp说明文档 | 秋澪的博客 MacBook Air M1 2025年211工科本科生体验报告 | 秋澪的博客 Conda安装以及基础使用方法 | 秋澪的博客 利用CloudFlare搭建测速网站 | 秋澪的博客 Fcricle踩坑记录 | 秋澪的博客 FastCDN说明文档 | 秋澪的博客 利用CloudFlare搭建镜像站 | 秋澪的博客 Docker入门教程 | 秋澪的博客 UnlockMusic音乐解锁搭建教程 | 秋澪的博客 Excalidraw搭建教程 | 秋澪的博客 AutoFilm说明文档 | 秋澪的博客 利用CDN加速并保护站点 | 秋澪的博客 校园网碎碎念 | 秋澪的博客 三朝元老再就业——百元机装机体验暨P104-100快速上手 | 秋澪的博客 将M.2固态硬盘设为群晖存储池 | 秋澪的博客 Git快速上手指南 | 秋澪的博客 利用Ventoy打造最强硬盘 | 秋澪的博客 MarkDown笔记软件推荐 | 秋澪的博客 免费的云数据库推荐 | 秋澪的博客 使用BetterNCM美化网易云 | 秋澪的博客 Armbian手把手玩机指南01-系统刷入并安装可视化桌面 | 秋澪的博客 IOS旧版本应用推荐 | 秋澪的博客 51单片机学习记录-01 | 秋澪的博客 51单片机学习记录-00 | 秋澪的博客 免费域名注册 | 秋澪的博客 Hexo重装记录 | 秋澪的博客 利用CloudFlare创建域名邮箱 | 秋澪的博客 在Render上部署Alist | 秋澪的博客 Docker命令大全 | 秋澪的博客 利用Replit搭建Alist | 秋澪的博客 MariaDB数据库搭建及基础用指南 | 秋澪的博客 Nginx-Proxy-Manager问题补充:DNSPod证书申请错误、NPM端口丢失 | 秋澪的博客 VPS基础配置 | 秋澪的博客 Ubuntu安装及ROS安装教程 | 秋澪的博客 个人图床搭建之Github篇 | 秋澪的博客 利用Replit搭建个人博客Halo | 秋澪的博客 AI工具网站推荐 | 秋澪的博客 MarkDown入门教程 | 秋澪的博客 基于Ubuntu安装docker | 秋澪的博客 利用FRP 和 Nginx-Proxy-Manager 为内网设备提供内外穿透服务 | 秋澪的博客 Hello World | 秋澪的博客
为Hexo博客添加后台管理系统 | 秋澪的博客
标签 · 2023-06-24 · via 秋澪的博客

此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结

前言

Hexo是一个静态网站生成器,许多人用其来搭建博客,我的博客就是使用Hexo搭建,相比前之前介绍的Halo(传送门:利用Replit搭建个人博客Halo)搭建成本更加低,因为很多网站都支持了托管静态网站(后面可能会更新一篇静态网站的文章),但Hexo是静态网页,没有后台管理系统,对于想新建一个博客的小白来说难度比Halo大,但是也有许多大佬构建了网页的Hexo后台管理系统,今天给大家介绍两个后台管理系统:Qexo和ESHexoN,并附上搭建方式
Hexo的源码需放在Github/Gitlab上

Qexo

** Qexo,一个快速、强大、漂亮的在线Hexo编辑器**
Github仓库使用文档

特色:

  • 自定义图床上传图片
  • 在线配置编辑
  • 在线页面管理
  • 开放API
  • 自动检查更新
  • 在线一键更新
  • 快速接入友情链接
  • 简单的说说短文
  • 类似不算子的统计
  • 自动填文章模板

下面是搭建教程

准备数据库

Qexo支持的数据库:

  • MySQL
  • PostgreSQL
  • MongoDB

这次我们使用MongoDB数据库,先去MongoDB官网注册一个账户,这边我已经有账户了就不做演示了
因为MongoDB账户每一个项目(Project)只支持创建一个免费的数据库,所以需新建一个项目(Project,)
新建Project

项目名称取为Qexo,点击Next,接着是修改项目的权限,这里我们不做修改,直接Create Project->Build a DataBase,类型选择M0 Free,Name改成Qexo,其余默认即可(提供商为AWS、地区为N.Virginia(us-east-1)),然后点击Create。然后会提上让我创建一个管理员来对数据库进行管理,选择Username and Password作为认证方式,操作员名字设置为Hexo,密码点击Autogenerate Secure Password来自动生成,然后点击Create User。然后在IP Address中填入0.0.0.0/0(表示任何ip均可以访问数据库),Description填入任意IP,点击Add Entry->Finshi and Close,然后跳转到你的数据库页面,点击Connect->Shell找到数据库的域名
获取数据库域名

前端搭建

Qexo的Github仓库,Fork到自己的仓库中,再去Vercel官网(未注册的可以用Github账户注册),进入控制台(Dashboard)后,点击Add new ...->Project,找到刚刚Fork的项目,点击Import,找到Environment Variables,根据你的数据库信息填写相应的NameValue
Environment Variables示例

| Name | Value(示例) | 意义 |
| - | - |
| MYSQL_HOST | us-east.connect.psdb.cloud | MySQL数据库连接地址 |
| MYSQL_PORT | 3306 | MySQL数据库通信端口,默认应填写3306 |
| MYSQL_USER | qexo | MySQL数据库用户名 |
| MYSQL_NAME | mydatabase | MySQL数据库名 |
| MYSQL_PASSWORD | password | MySQL数据库密码 |

| Name | Value(示例) | 意义 |
| - | - |
| PG_HOST | db.xxx.supabase.co | PostgreSQL数据库连接地址 |
| PG_PORT | 5432 | PostgreSQL数据库通信端口,默认应填写5432 |
| PG_USER | qexo | PostgreSQL数据库用户名 |
| PG_DB | mydatabase | PostgreSQL数据库名 |
| PG_PASS | password | PostgreSQL数据库密码 |

| Name | Value(示例) | 意义 |
| - | - |
| MONGODB_HOST | mongodb+srv://cluster0.xxxx.mongodb.net | MongoDB数据库连接地址 |
| MONGODB_PORT | 27017 | MongoDB数据库通信端口,默认应填写27017 |
| MONGODB_USER | qexo | MongoDB数据库用户名 |
| MONGODB_DB | mydatabase | MongoDB数据库名 |
| MONGODB_PASS | password | MongoDB数据库密码 |

演示中我使用的是MongoDB数据库,下面是我填入的环境变量参考,点击Delopy等待部署,因为Vercel免费提供的域名被GWF拦截了,所以需要使用自己的域名,在Vercel中打开Qexo的项目,点击Settings->Domains添加域名并到自己域名的DNS提供商那里完成添加A记录或者CANME记录,等待DNS解析完成后打开网站,就能看到自己Qexo前端了

Github密钥

Gitlab的申请方法不做赘述了(都会自己搭建Gitlab了还需要我教这个吗
进入Github官网,点击自己右上角的头像->Settins->Developer Settings->Personal access tokens->Tokens(classic)->Generate new token->Generate new token (classic),名字(Note)就填Qexo,Expiration选择No expiration(永不过期),Select scopes勾选repo,点击Generate token,保存Token
为Qexo申请Token

Vercel密钥

Vercel官网,点击自己右上角的头像->Settings->Tokens
TOKEN NAME填入Qexo
SCOPE选择Full Account
EXPIRATION选择No Expiration
点击Create,保存密钥

Vercel项目ID

Vercel控制面板,找到Qexo项目,点击进入,点击Settings->General,找到Project ID

Qexo前端初始化

API密钥留空,设置用户名以及密码;然后是博客源码仓库的配置,按照实际情况填写即可;Vercel密钥填入之前在Vercel获取的Token、项目ID填入Project ID中的值。之后就完成部署了,返回qexo主页重新登入刚刚设置的账户,就能进入管理页面了,自定义图床等功能这里就不在赘述了
Qexo前端演示

ESHexoN

与Qexo类似,ESHexoN也是一款简洁、强大的Hexo在线编辑器。
Github仓库使用文档

GIthub密钥获取

进入Github官网,点击自己右上角的头像->Settins->Developer Settings->Personal access tokens->Tokens(classic)->Generate new token->Generate new token (classic),名字(Note)就填ESHexoN,Expiration选择No expiration(永不过期),Select scopes勾选repo,点击Generate token,保存Token
为ESHexoN申请Token

后端搭建

ESHexoN的后端部署支持Deno与Cloudflare Workers两个平台。从更新情况上看,Deno平台支持性会更好。这里我以Deno作为演示

Fork仓库

ESHexoN的Github仓库,Fork到自己的仓库中

创建配置文件仓库

推荐将配置文件与 Hexo 博客仓库分离
点击传送门创建仓库,仓库名这里我设为ESHoxeN-DataBase,类型选择Private,然后点击Create repository from template
创建配置文件仓库

变量生成器

进入配置工具,按照实际情况填写
填写说明:

项目 说明
第一项 填入之前生成的Token密钥
第二项 Github用户名
第三项 Hexo博客源码仓库名
第四项 博客仓库分支,大概率是mainmaster
第五项 ESHoxeN配置文件仓库名,在之前的步骤中,我设为了ESHoxeN-DataBase
第六项 ESHoxeN配置文件仓库的分支,默认是master
第七项 配置文件生成名,按照/xxx.jason的格式修改,默认为/eshexon.json

填写完成后点击Generate[生成]
配置参考

导入项目

然后去Deno官网登入或者用Github注册一个账户,在控制台页面点击New Project->Select GitHub repository->Select Sser or Organzation->Add Github Account从Github中导入之前Fork的仓库,部署方式选择 No build step,文件选择打包好的dist/index.js,最后选择Create & deploy
导入项目配置参考

配置项目

修改项目名(可选)

进入项目后,找到Settings->Project Name,我这里改成eshexon-zuilang,再点击Save保存
修改项目名

配置环境变量

进入项目后,找到Settings->Environment Variables,点击Add Variable添加四个环境变量:GITHUB_TOKENGITHUB_MAIN_REPOGITHUB_SUB_REPOGITHUB_CONFIG_NAME
含义如下,按照实际情况填入VALUE,可以按照下面的示意填写,也可以之间粘贴之前变量生成器中生成的值。填写完成后点击SAVE

变量名 含义
GITHUB_TOKEN GitHub Token, 必须有repo权限
GITHUB_MAIN_REPO Hexo 仓库, 格式为<user>/<repo>, <branch>
GITHUB_SUB_REPO 配置文件仓库,格式为<user>/<repo>, <branch>
GITHUB_CONFIG_NAME 配置文件名称

环境变量配置参考

自定义后端域名(可选)

进入项目后,找到Settings->Domains->Add Domains,输入域名后,再点击Save保存,然后会提示添加一个A记录、一个AAAAA记录以及一个CNAME记录,添加这三个记录后点击Validate重新验证,再点击Get automatic certificates自动生成SSL证书(也可也手动上传)

前端

ESHexoN官方使用Vue + Vuetify构建了一个公共前端,推荐您使用公共前端,它紧随后端版本的更新,使用更加流畅

打开公共前端,注册一个账户,后端地址的域名可以是自己添加的,也可也是Deno官方提供的,可以在Deno进入项目后的Overview查看所有的域名,注册完成后再登入账户就能看到ESHexoN管理后台了
ESHexoN前端演示