文章摘要
文章 AI
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结
投诉

docker部署hexo

拉取镜像

1
docker pull registry.cn-hangzhou.aliyuncs.com/aceqwe-doceker/hexo:v1

启动容器(可以直接进入/home/hexo目录进行编辑,例如:替换主题,发布文章)

1
2
docker run -it --name hexo -p 4000:4000 -v /home/hexo:/home/hexo --dns=223.5.5.5 --dns=8.8.8.8 --dns=114.114.114.114 registry.cn-hangzhou.aliyuncs.com/aceqwe-doceker/hexo:v1

安装博客软件

1
cd /home/ && npm install -g hexo-cli && cd /home/ && hexo init hexo && rm -rf /home/hexo/node_modules && cd /home/hexo/ && npm install

部署博客

1
2
hexo g && hexo d && hexo s
ctrl+p+q # 后台运行博客

每次配置不生效时,我是怎么办的

  • 重启容器并进入容器
1
2
3
4
// 重启容器
docker restart hexo
// 进入容器
docker exec -it hexo bash
  • 部署博客
1
2
3
cd /home/hexo/
hexo d && hexo g && hexo s
ctrl+p+q
  • 刷新页面

部署qexo

下载 Release版本

Release 下载最新的版本 Source code (zip) 并解压

准备数据库

参考 Django 官方文档

官方支持 第三方支持
PostgreSQL CockroachDB
MariaDB Firebird
MySQL Google Cloud Spanner
Oracle Microsoft SQL Server
SQLite ……

注意: 你可能需要根据你使用的数据库修改 requirement.txt 以安装依赖

编辑配置

以使用 Mysql 为例, 确认好安装相关依赖后在manage.py的同级目录下创建并修改 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': 'root',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
"init_command": "SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}

如果需要引入其他的库, 或在init.py中执行代码, 可以直接在顶部写入import pymysql

执行命令运行

1
2
3
4
pip3 install -r requirements.txt
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver 0.0.0.0:8000 --noreload

注意:我其实在此直接用docker命令完成的。

1
2
3
4
5
6
7
8
9
# 依次执行以下命令
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt
# 构建镜像
docker build -t qexo .
# 等待构建完成

# 启动容器
docker run -td --name qexo -v /home/hexo:/home/hexo -p 8000:8000 --restart always qexo