本地服务器部署Qexo

创建并进入qexo文件夹(可不建)

1
2
mkdir /var/qexo
cd /var/qexo

安装git

1
sudo apt-get install git

克隆QEXO

也可以下载Release文件并解压上传到服务器的/var/qexo

1
git clone https://github.com/Qexo/Qexo.git

创建并编辑configs.py

1
vi configs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pymysql
pymysql.install_as_MySQLdb()
DOMAINS = ['127.0.0.1', 'yoursite.com']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'qexo', #数据库名
'USER': 'qexo', #用户名(数据库)
'PASSWORD': 'qexo', #用户密码
'HOST': '127.0.0.1', #数据库地址,如果是本地则不动
'PORT': '3306',
'OPTIONS': {
'init_command': 'SET sql_mode='STRICT_TRANS_TABLES'
}
}
}

安装mysql

1
sudo apt-get install mysql-server

配置数据库

进入mysql:

1
mysql

创建数据库:

1
create database qexo(数据库名) character set utf8mb4 collate utf8mb4_bin;

创建用户:

1
create user 'qexo(用户名)'@'localhost(用户登录地址)' identified by 'qexo(用户密码)';

授权qexo管理qexo数据库所有权限:

1
grant all privileges on qexo(数据库名).* to'qexo'@'localhost';

退出数据库:

1
quit;

安装pip3

1
sudo apt-get install python3-pip

修改pip源

1
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装依赖

1
2
3
pip3 install -r requirements.txt
pip3 install pymysql
pip3 install mysqlclient

安装mysqlclient错误

迁移数据库

1
2
python3 manage.py makemigrations
python3 manage.py migrate

运行Qexo,默认仅监听本地8000端口

1
python3 manage.py runserver --noreload

运行Qexo,监听8000端口

1
python3 manage.py runserver --noreload 0.0.0.0:8000

直接暴露8000端口初始化400解决方法:nginx配置端口转发

1
2
3
4
5
6
7
8
9
server{
listen 8080;
location / {
proxy_pass http://127.0.0.1:8000; # 转发规则
proxy_set_header Host $proxy_host; # 修改转发请求头,让应用可以接收到真实的请求
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

初始化配置

进入IP:8080(nginx端口转发监听的端口)

用户配置

只需设置用户名和密码

博客配置

服务商 本地 使用配置 Hexo

博客路径 /var/www/hexo 自动部署 hexo clean && hexo g && hexo d


本地部署不自动更新文章/页面解决方法

目前发现2.6.1,2.6.3,2.6.4中有这个问题其他版本需要自行测试

1
vi /var/qexo/Qexo/hexoweb/api.py

第526、557新建一行添加

1
delete_all_caches();

解决mysql_config not found提示

1
sudo apt-get install libmysqlclient-dev

libmysqlclient-dev安装失败提示libssl-dev : Depends: libssl1.0.0 (= 1.0.1f-1ubuntu2) but 1.0.1f-1ubuntu2.19 is to be installed

1
2
sudo apt-get install aptitude
sudo aptitude install libssl-dev

第一个选项选n,第二个选y
libssl-dev安装完成后安装libmysqlclient-dev
再安装mysqlclient

参考:

Qexo部署:部署程序

迁移失败:Qexo部署

libssl-dev:解决安装libssl-dev的依赖问题


本地服务器部署Qexo
http://blog.liao.center/Qexo-Setup/
作者
落墨成殇
发布于
2023年4月1日
许可协议