Docker部署hexo
Tanwan

前期准备工作

准备一台Linux操作系统的服务器(本文以Debian为例)

更新软件包并安装curl和nano文本编辑器

1
apt-get update && apt install curl nano

开启ssh软件登录

手动开启root登录ssh

1
nano /etc/ssh/sshd_config
  1. 找到 PermitRootLogin prohibit-password 修改为 PermitRootLogin yes
  2. 找到 PasswordAuthentication no 修改为 PasswordAuthentication yes(别忘了去掉前面的#号,使其生效)
  3. 如果 root 账户还没有密码,可以通过以下命令为 root 账户设置密码:
1
sudo passwd root
  1. 为了使更改生效,需要重新启动 SSH 服务:
1
systemctl restart ssh

一键开启root登录ssh

1
wget -q root.sh https://raw.githubusercontent.com/passeway/root/main/root.sh && chmod +x root.sh && ./root.sh

安装docker

一键安装脚本

1
curl -fsSL https://get.docker.com | bash -s docker

官方自带docker compose命令,我后面还是单独安装了docker-compose使用,习惯了

你如果没有安装docker-compose,可以直接使用自带的docker compose,

后面执行bash命令时注意是docker compose而不是docker-compose. 执行命令时候也没有这个-杠

可在此命令后附带--mirror参数设置镜像源,以提高国内服务器下载docker的速度

如使用阿里云镜像:

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

部署hexo

安装hexo

  1. 创建本地hexo容器目录
1
mkdir -p /root/data/docker/hexo && cd /root/data/docker/hexo
  1. 创建hexo的docker-compose.yml
1
nano docker-compose.yml
  1. 复制以下内容填写进去
1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3.0'
services:
hexo:
container_name: hexo
restart: always
environment:
- HEXO_SERVER_PORT=4000
- TZ=Asia/Shanghai
volumes:
- './blog:/app'
ports:
- '8889:4000'
image: spurin/hexo

按 Ctrl + X 确认保存,按 Enter 退出 nano。

4.启动容器

up 是启动容器, -d 表示后台启动

1
docker-compose up -d

浏览器打开http://你的服务器ip或域名:8889 8889是你之前docker-compose.yml中设置的端口


安装keep主题

XPoet/hexo-theme-keep: :rainbow:一款简单轻快的 Hexo 主题。它能让你更专注于写作。(github.com)

1
2
3
4
5
6
7
#进入blog目录并拉取主题到themes/目录下
cd blog && git clone https://github.com/tanwanme/keep.git themes/keep
#删除原配置文件
rm _config.yml
#复制新配置文件
cp themes/keep/blog/_config.yml _config.yml
cp themes/keep/blog/_config.keep.yml _config.keep.yml

使主题生效

  1. 进入hexo容器内部
1
docker exec -it hexo bash 
  1. 安装插件
1
2
3
4
5
npm install 
npm install hexo-admin --save ##安装admin后台管理插件
npm install hexo-deployer-git --save
hexo clean && hexo g ##清除缓存并重新生成网页
exit ##退出容器
  1. 重启docker
1
docker-compose restart hexo  

浏览器打开http://你的服务器ip或域名:8889预览新主题 

8889是你之前docker-compose.yml中设置的端口

修改主题配置文件_config.keep.yml

修改hexo配置文件_config.yml