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

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 官方文档

官方支持第三方支持
PostgreSQLCockroachDB
MariaDBFirebird
MySQLGoogle Cloud Spanner
OracleMicrosoft 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