基于腾讯云lighthouse搭建Hexo管理器-Qexo

原文地址:blog.iloli.love/archives/33...

本文图例使用腾讯云lighthouse搭建(其他服务器也没问题)
在阅读本文之前,你需要做的事:已经在 服务器/本地 部署好 hexo 及其相关依赖 ,还有python3.x及对应版本的pip 以及 git / curl 等命令
本文应用场景为通过本地部署的 Qexo 控制本地部署的 hexo ,为了轻量化,数据库使用SQlite
本文假设运行 python 的命令为 python3 ,运行 pip 的命令为 pip3 ,Qexo 目录为 /data/qexo

接下来我们开始部署 Qexo

下载所需文件

运行命令

如果是境内鸡则运行:

bash 复制代码
git clone https://ghproxy.com/https://github.com/Qexo/Qexo.git /data/qexo && cd /data/qexo && curl https://ghproxy.com/https://raw.githubusercontent.com/miaowmint/Qexo-docker/main/qexoconfigs.py -o configs.py &&  mkdir -p db && cd db && curl https://ghproxy.com/https://raw.githubusercontent.com/miaowmint/Qexo-docker/main/db/db.sqlite3 -o db.sqlite3

如果是境外鸡则运行:

bash 复制代码
git clone https://github.com/Qexo/Qexo.git /data/qexo && cd /data/qexo && curl https://raw.githubusercontent.com/miaowmint/Qexo-docker/main/qexoconfigs.py -o configs.py &&  mkdir -p db && cd db && curl https://raw.githubusercontent.com/miaowmint/Qexo-docker/main/db/db.sqlite3 -o db.sqlite3

命令解释:git clone Qexo的所需文件到 /data/qexo ,然后在该目录下载数据库配置文件,接下来在该目录下新建 db 文件夹,在 db 文件夹中下载数据库文件

运行结果如图所示

修改配置文件

接下来修改 /data/qexo/configs.py ,将其中的 127.0.0.1yourqexo.com 分别修改为 你的服务器IP你用来访问Qexo的域名(如果有的话)

安装python依赖包

然后运行如下命令安装Python包

bash 复制代码
cd /data/qexo && pip3 install -r requirements_withoutmsyql.txt

部分运行结果如图所示

如果这一步遇到报错,可能是因为你的python版本不合适,或者网络问题,或者镜像源问题,或者各种奇奇怪怪的问题;总之请自行解决

另附一份可能的报错以及解决方案:

对于如下的报错,可以将上面的命令改为下面这个

bash 复制代码
cd /data/qexo && pip3 install -r requirements_withoutmsyql.txt --ignore-installed PyYAML

运行 Qexo

接下来运行命令

复制代码
python3 manage.py makemigrations && python3 manage.py migrate

运行结果如图,看到 ERROR: Provider获取失败, 跳过(functions.py.<module>[line:55]) 不用理会,是正常现象

如果没有报错的话就可以继续运行如下命令

lua 复制代码
python3 manage.py runserver 0.0.0.0:8000 --noreload

可以看到 Qexo 已经运行成功了

此时访问 http://你的服务器IP:8000 就可以进入 Qexo 初始化并愉快的使用 Qexo 了

使用 supervisor 常驻 Qexo 进程

在上面的步骤虽然成功运行了 Qexo ,但是如果我们按了 Ctrl + C 或者断开 ssh 连接,Qexo 进程就莫得了,总之我们要想办法常驻 Qexo 进程

有一个方法是使用 screen 新建一个视窗运行 python3 manage.py runserver 0.0.0.0:8000 --noreload

这个方法确实有效,但缺点是当服务器重启后无法自动运行 Qexo ,所以我们可以使用另一种方案:使用 supervisor 常驻 Qexo 进程

这里我使用的是宝塔面板里的插件 进程守护管理器 ,这个插件就是基于 supervisor 的,如果你不想使用宝塔面板,请自行找教程安装 supervisor ,我会在下面给出子配置文件

按照下图所示添加守护进程,点击确定即可

以下为该配置对应的 supervisor 子配置文件

ini 复制代码
[program:qexo]
command=python3 manage.py runserver 0.0.0.0:8000 --noreload
directory=/data/qexo/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/www/server/panel/plugin/supervisor/log/qexo.out.log
stderr_logfile=/www/server/panel/plugin/supervisor/log/qexo.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=root
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d

FAQ

如果我想通过域名访问 Qexo 应该怎么做

通过 Nginx 反代 http://127.0.0.1:8000

如果使用CDN,并且CDN支持自定义回源端口,则可以在CDN侧设置 使用 HTTP 回源 8000 端口

如果我的服务器上有 python3.x 但是没有对应的 pip 怎么办

试试运行如下命令

sql 复制代码
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3 get-pip.py

使用 Qexo 更新文章时无法自动部署,报错 /bin/sh: line 1: hexo: command not found

我也是这个情况,可以通过命令行部署,但是不能通过 Qexo 自动部署,不知道为什么,在好几台服务器上试了都是这样

有一键脚本吗

没有,有时间我或许会试着写一个,但脚本里绝对不会提供 环境 和 依赖 的配置

有 Docker 版本吗

没有,具体理由见 github.com/miaowmint/Q...

相关推荐
小雅痞5 天前
[Mac]利用Hexo+Github Pages搭建个人博客
macos·hexo·github.io
心凉了10 天前
Hexo引用图床图片403解决方案
hexo
丶Darling.17 天前
利用hexo+github部署属于自己的个人博客网站(2025年3月所写)
git·github·nodejs·hexo·个人博客
switch_swq2 个月前
使用Hexo部署NexT主体网站
笔记·学习·node.js·html5·hexo·next·网页
xiaolin03332 个月前
把本地搭建的hexo博客部署到自己的服务器上
服务器·hexo
sleP4o3 个月前
Hexo + NexT + Github搭建个人博客
github·hexo·next·个人博客
草梅友仁3 个月前
2025 年第 2 周草梅周报:Hexo 播客生成与赞助者列表聚合
github·hexo·播客
一张假钞3 个月前
Hexo Next主题集成百度统计
hexo·next
丸丸丸子w4 个月前
Hexo博客在多个设备同步
hexo·个人博客
Huazie5 个月前
来花个几分钟,轻松掌握 Hexo Diversity 主题配置内容
前端·javascript·hexo