首页 > 其他分享 >基于腾讯云lighthouse搭建Hexo管理器-Qexo

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

时间:2023-10-31 11:55:51浏览次数:37  
标签:https 管理器 Qexo Hexo py db && qexo

原文地址:https://blog.iloli.love/archives/33773f16/

本文图例使用腾讯云lighthouse搭建(其他服务器也没问题)

在阅读本文之前,你需要做的事:已经在 服务器/本地 部署好 hexo 及其相关依赖 ,还有python3.x及对应版本的pip 以及 git / curl 等命令

本文应用场景为通过本地部署的 Qexo 控制本地部署的 hexo ,为了轻量化,数据库使用SQlite

本文假设运行 python 的命令为 python3 ,运行 pip 的命令为 pip3 ,Qexo 目录为 /data/qexo

接下来我们开始部署 Qexo

下载所需文件

运行命令

如果是境内鸡则运行:

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

如果是境外鸡则运行:

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 文件夹中下载数据库文件

运行结果如图所示
https://vip2.loli.io/2023/10/26/lubOosMFSkIdhVQ.png

修改配置文件

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

https://vip2.loli.io/2023/10/26/dGFlyrTunqkBWK1.png

https://vip2.loli.io/2023/10/26/yj3GP4KZS2L89hB.png

安装python依赖包

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

cd /data/qexo && pip3 install -r requirements_withoutmsyql.txt

部分运行结果如图所示

https://vip2.loli.io/2023/10/26/4MW8JYXtAyf1TeU.png
https://vip2.loli.io/2023/10/26/famydhoWbqTIv6F.png

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

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

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

cd /data/qexo && pip3 install -r requirements_withoutmsyql.txt --ignore-installed PyYAML

https://vip2.loli.io/2023/10/26/HPQzjJTxYAMiD3R.png

运行 Qexo

接下来运行命令

python3 manage.py makemigrations && python3 manage.py migrate

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

https://vip2.loli.io/2023/10/26/qo3k4zsKh6ladFL.png
https://vip2.loli.io/2023/10/26/3pO7qtaA9Zel8cS.png

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

python3 manage.py runserver 0.0.0.0:8000 --noreload

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

https://vip2.loli.io/2023/10/26/FCVjIYgl53JMH4n.png

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

https://vip2.loli.io/2023/10/26/9WeKvAQXJrwaz8S.png

使用 supervisor 常驻 Qexo 进程

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

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

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

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

按照下图所示添加守护进程,点击确定即可
https://vip2.loli.io/2023/10/26/7ZCJtWbQFac8dwp.png

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

https://vip2.loli.io/2023/10/26/L9Uk78H4mwodIBv.png

[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 怎么办

试试运行如下命令

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 版本吗

没有,具体理由见 https://github.com/miaowmint/Qexo-docker#readme

标签:https,管理器,Qexo,Hexo,py,db,&&,qexo
From: https://www.cnblogs.com/miaowmint/p/17799928.html

相关文章

  • MT管理器逆向改仿真银行app软件,提供教程和成品下载
    我这边的思路是通过MT管理器去逆向一个银行仿真APP,让里面的默认信息都自定义修改成我自己的,大佬可以不用看,但是一些新手有必要去学习一下。教程开始:1、需要的两个附件工具已经导入到了模拟器里面了2、用Mt管理器提取这个模拟器的安装包3、点查看,进入压缩包目录里4、然后点......
  • 2023-10-26 hexo部署到GitHub时css样式不生效 ==》 css文件链接被识别为不安全链接,导
    hexod一键部署后查看效果发现博客页面的样式全丢失了,查看控制台发现了端倪:MixedContent:Thepageat'https://xxx.github.io/'wasloadedoverHTTPS,butrequestedaninsecurestylesheet'http://xxx.com/lib/font-awesome/css/font-awesome.min.css?v=4.6.2'.Thisre......
  • Ubuntu Hexo Github.io 自建博客站
    1.安装node/npm/hexo在nodejs官网下载Ubuntu的压缩包,解压tar-zcvfnode-v18.18.2-linux-x64.tar.xz设置全局变量,注意是把他从一个路径弄到另一个路径里,下面两个/usr前面都有空格sudoln-sf/root/node-v18.18.2-linux-x64/bin/node/usr/bin/sudoln-sf/root/node......
  • 使用Chocolatey包管理器一键搭建windows开发环境
    最近腾讯开放内测的微信小程序火了,而官方支持IDE只有windows版和Mac版的,稍微研究了一下这个IDE发现是node-webkit开发的,理论上应该是跨平台的,但不知为何这个IDE并没有支持Linux环境。喜欢折腾的我当然是要尝试一下的,奈何是使用Ubuntu作为主力开发环境,所以只能重做一个windows系统了......
  • 【工具】SSH端口转发管理器,专门管理SSH Port Forwarding
    开源代码看这里:http://xfxuezhang.cn/index.php/archives/1151/背景介绍        有时候需要用到ssh的端口转发功能。目前来说,要么是cmd里手敲指令,但每次敲也太麻烦了;或者打开termius、mobaxterm这种ssh软件,但对于只想使用端口转发的需求来说,打开这种软件也太臃肿了。因此开......
  • Qt/C++开源作品45-CPU内存显示控件/和任务管理器一致
    一、前言在很多软件上,会在某个部位显示一个部件,专门显示当前的CPU使用率以及内存占用,方便用户判断当前程序或者当前环境中是否还有剩余的CPU和内存留给程序使用,在不用打开任务管理器或者资源查看器的时候直接得知当前系统的运行情况。尤其是视频监控系统,如果64路全开,肯定很占用CP......
  • 使用GitHub Actions自动部署Hexo博客
    准备两个仓库源码库:hexo源码仓库网页库:{username}.github.io目标在源码库编写博客,推送到远端后,触发GithubActions。Actions配置hexo环境,生成hexo文件后,推送到网页库。推送网页到网页库的权限问题,通过Github的accesstoken解决(https://github.com/settings/token......
  • 安装和使用新立得软件包管理器
    想AKIOI的一只蒟蒻于2023-01-2009:41:04发布阅读量1.5k收藏6点赞数文章标签:debianlinuxubuntu版权目录前言一、新立得软件包管理器是什么二、安装新立得软件包管理器三、使用新立得软件包管理器总结前言我们可能经常在Debian系Linux发行版使用apt命令来安装/删除/彻底......
  • Windows 性能计数器 命令 任务管理器 命令
    Windows性能计数器是一个Windows系统内置的监视工具,可以显示系统的运行状况,包括CPU使用率、内存使用情况、网络吞吐量、磁盘I/O活动等。以下是几个常用的性能计数器相关命令:perfmon:打开性能监视器,可以创建和管理监视器,查看性能数据和日志。logman:创建和管理性能日志文件......
  • 群晖Synology存储空间管理器支持的RAID类型
    创建存储池时,先选择RAID类型。不同类型的RAID可提供不同级别的数据保护、存储功能及性能。SynologyNAS目前支持以下类型的RAID:Basic:使用一个硬盘来创建存储池。Basic存储池不提供数据冗余。JBOD*:至少合并两个硬盘来创建存储池。JBOD存储池不提供数据冗余。JBOD存储池......