yum install -y yum-utils

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum install docker-ce docker-ce-cli containerd.io -y

systemctl enable --now docker

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://qbd2mtyh.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

docker pull halohub/halo:2.7

mkdir ~/.halo2

docker run -it -d --name halo -p 80:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.7 --halo.external-url=http://localhost:80/ --halo.security.initializer.superadminusername=admin --halo.security.initializer.superadminpassword=P@99w0rd..d

浏览访问IP
  • 更多版本请访问:https://gitee.com/halo-dev/halo/tags
  • 更多主题请访问:https://halo.run/themes

脚本启动Halo

[root@MYX ~]# cat /apps/halo.sh 
nohup java -jar /apps/halo.jar > /apps/halo.txt 2>&1 &

nohup /natapp/./natapp -authtoken=xxxxxx -log=stdout > /natapp/natapp.txt 2>&1 &

设置开机自启动

[root@MYX ~]# cat ~/.bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# 启动java
. /etc/profile.d/jdk.sh

# 启动Halo
. /apps/halo.sh

重启主机(测试)

本地备份数据文件

# /root/backup.sh

# mkdir ~/Halo数据备份 && chmod 700 ~/Halo数据备份

backup_file="/root/Halo数据备份/.halo.bak.$(date '+%Y年%m月%d日%H:%M:%S')"

scp -r 127.0.0.1:/root/.halo "$backup_file"

注:

  • Halo的数据文件放在root目录下的隐藏文件 .halo
  • 此项目基于 natapp 内网穿透 > 官方网址:https://natapp.cn/
  • 内网穿透指导:https://blog.mengyuanxi.cn/archives/readmemd

+ 可道云,共用一个端口

可道云部署参考这篇文章: https://blog.mengyuanxi.cn/archives/ke-dao-yun-bu-shu-mysql-zhu-cong-fu-zhi

[root@myx/data/html/kodbox]$ ls
app  Changelog.md  config  data  index.php  plugins  static

# /apps/nginx/conf/conf.d/
server {
    listen 80;
    server_name localhost;
    root /data/html/;
    client_max_body_size 200M;

    location /kodbox {
        index index.php index.html;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location / {
        proxy_pass http://10.0.0.12:8090;
    }
}

image.png

image.png

Docker 部署 Halo2.9 版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


# 安装
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动
sudo systemctl start docker

# 验证
sudo docker run hello-world

# 创建容器
docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.9

# Docker 加入开机自启
systemctl enable --now docker

# 启停Halo
docker start halo
docker stop halo

# 后台
http://10.0.0.13:8090/console
  • 升级版本 参考文档: https://docs.halo.run/getting-started/install/docker
1.备份数据,可以参考 备份与恢复 进行完整备份。

2.拉取新版本镜像
docker pull halohub/halo:2.11

3.停止运行中的容器
docker stop halo
docker rm halo

4.更新 Halo
修改版本号后,按照最初安装的方式,重新创建容器即可。
docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11

Halo 2.9