前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hexo后台管理-Qexo(个人服务器部署)

Hexo后台管理-Qexo(个人服务器部署)

原创
作者头像
落墨成殇
修改2023-04-01 15:57:57
2.8K0
修改2023-04-01 15:57:57
举报
文章被收录于专栏:落墨成殇落墨成殇

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

代码语言:shell
复制
mkdir /var/qexo
cd /var/qexo

安装git

代码语言:shell
复制
sudo apt-get install git

克隆Qexo

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

代码语言:shell
复制
git clone https://github.com/Qexo/Qexo.git

创建并编辑configs.py

代码语言:shell
复制
vi configs.py
代码语言:python
代码运行次数:0
复制
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

代码语言:txt
复制
apt-get install mysql-server

配置数据库

进入mysql:

代码语言:shell
复制
mysql

创建数据库:

代码语言:sql
复制
create database qexo(数据库名) character set utf8mb4 collate utf8mb4_bin;

创建用户:

代码语言:sql
复制
create user 'qexo(用户名)'@'localhost(用户登录地址)' identified by 'qexo(用户密码)';

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

代码语言:sql
复制
grant all privileges on qexo(数据库名).* to'qexo'@'localhost';

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

代码语言:sql
复制
quit;

安装pip3

代码语言:shell
复制
sudo apt-get install python3-pip

修改pip源

代码语言:shell
复制
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装依赖

代码语言:shell
复制
pip3 install -r requirements.txt
pip3 install pymysql
pip3 install mysqlclient

安装mysqlclient错误请到文章结尾处查看

迁移数据库

代码语言:shell
复制
python3 manage.py makemigrations
python3 manage.py migrate

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

代码语言:shell
复制
python3 manage.py runserver --noreload

监听所有外部请求,但是试了一下未初始化时会400错误

代码语言:shell
复制
python3 manage.py runserver --noreload 0.0.0.0:8000

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

代码语言:text
复制
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中有这个问题其他版本需要自行测试

代码语言:shell
复制
vi /var/qexo/Qexo/hexoweb/api.py

第526、557新建一行添加

代码语言:python
代码运行次数:0
复制
delete_all_caches();

解决mysql_config not found提示

代码语言:shell
复制
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

代码语言:shell
复制
sudo apt-get install aptitude
sudo aptitude install libssl-dev

第一个选项选n,第二个选y

libssl-dev安装完成后安装libmysqlclient-dev

最后安装mysqlclient

参考:

Qexo部署:部署程序

迁移失败:Qexo部署

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建并进入qexo文件夹(可不建)
  • 安装git
  • 克隆Qexo
  • 创建并编辑configs.py
  • 安装mysql
  • 配置数据库
  • 安装pip3
  • 修改pip源
  • 安装依赖
  • 迁移数据库
  • 运行Qexo,默认仅监听本地8000端口
  • 直接暴露8000端口初始化解决方法:nginx配置端口转发
  • 初始化配置
  • 本地部署不自动更新文章/页面解决方法
  • 解决mysql_config not found提示
    • 参考:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档