Qexo入门之本地部署教程
前言
相信很多小伙伴都想自己魔改一下qexo,我最近跑通了qexo的本地部署调试,所以发一篇文说一下过程。
最近也是捣鼓qexo比较多,所以hexo方面的魔改有所耽误,观众老爷们多多见谅。而且这些天不单止想着qexo,脑子里也在组织着开源期刊的内容,嘻嘻!
准备Qexo项目
首先得将qexo项目拉下来,打开cmd命令行,cd到你的工作目录,输入下面命令拉取项目:
1 | git clone https://github.com/Qexo/Qexo.git && cd Qexo |
配置Qexo项目为本地部署模式
在 manage.py 的同级目录下创建并修改 configs.py 文件,创建后,当前目录如下:
1 | E:\Qexo>tree |
添加 configs.py 文件内容如下:
1 | import pymysql |
本地部署配置完成,接下来安装本地的数据库。
Mysql数据库安装
点击下载安装包 Mysql安装包下载 :
下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。
接下来我们需要配置下 MySQL 的配置文件
打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:
1 | [client] |
接下来我们来启动下 MySQL 数据库:
以管理员身份打开 cmd 命令行工具,切换目录:
1 | cd C:\web\mysql-8.0.11\bin |
初始化数据库:
1 | mysqld --initialize --console |
执行完成后,会输出 root 用户的初始默认密码,如:
1 | 2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ |
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
输入以下安装命令:
1 | mysqld install |
启动输入以下命令即可:
1 | net start mysql |
登录MySQL并创建qexo数据库
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
1 | mysql -h 主机名 -u 用户名 -p |
参数说明:
- -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
- -u : 登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
1 | mysql -u root -p |
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
1 | Enter password: |
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor… 的提示语。
然后命令提示符会一直以 mysql> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。
接下来,输入命令创建qexo数据库,这个数据库提供给Qexo项目使用:
1 | mysql> CREATE DATABASE qexo; |
数据库创建完成。
运行Qexo项目进行本地部署
在cmd命令行中,切换目录到刚刚拉下来的Qexo目录的根目录中去:
1 | E:\Qexo> pip3 install -r requirements.txt |
部署完成后的cmd窗口内容,如下所示:
完成
在浏览器中访问这个地址 http://127.0.0.1:8000/ 就能看到Qexo的初始化页面了,初始化页面如下:
常见问题与解决方案
1. 忘记修改config.py中的数据库密码
找到项目根目录中的 configs.py 文件,修改如下位置为自己数据库用户的密码:
1 | import pymysql |
2. python或python3没有设置变量环境
设置一下python和python3的环境变量,让这两个命令都能关联到你的python3可执行文件上。
3. 进入后台初始化过程中报错
如下图:
这个需要你确认自己的Hexo博客仓库是哪一个,不要关联到博客生成后的那个仓库去。
需要关联到你的Hexo博客源码仓库,而不是关联到Hexo生成后用于部署的那个仓库。















