目 录CONTENT

文章目录

【Docker-博客Halo】搭建个人博客网站,个人简介 / 记录生活 / 商品售卖

JIN
JIN
2026-02-11 / 0 评论 / 1 点赞 / 109 阅读 / 0 字
广告 广告

一、加SWAP(新手忽略)

注意:此步骤新手可直接跳过,直接进行第二步

若服务器内存 ≤ 1G 可添加 swap虚拟内存,一般为内存的 1-2 倍即可

设置 SWAP 可以用脚本:

wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh

填写18后,选择1,填写2048或者1024,然后回车


二、更新工具

2.1、切换到 root 用户
sudo -i
2.2、升级 packages
apt update -y
2.3、安装常用的工具
apt install wget curl sudo vim git -y

这些工具用于:

工具 作用
wget 下载文件
curl 网络请求
vim 文本编辑
git 下载项目

三、安装 Docker 环境(非大陆)

此步为非大陆vps安装docker的步骤,
大陆服务器的 三、四 步骤请划至最下面 1.7、补充

3.1、安装
curl -fsSL https://get.docker.com | bash
3.2、查看 docker 版本
docker -v  

如果出现类似:

Docker version 22.xx

说明安装成功。

3.3、设置开机自动启动
systemctl enable docker  

四、安装 Docker-compose(非大陆)

4.1、安装 compose 插件
apt install docker-compose-plugin -y

Docker Compose 用于 管理多个容器服务

例如这些都可以通过一个配置文件统一启动。

Halo
MySQL
Redis

4.2、查看版本
docker compose version  #查看 docker compose 版本
4.3、修改 Docker 配置(可选,新手忽略并跳过此步)

增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF
4.4、重启docker
systemctl restart docker

五、安装项目(以halo为例)

Halo 是一个 轻量级博客系统

我们将使用:Docker + MySQL部署。

如果小伙伴是需要安装其他项目如memos,wordpress,Reubah等,主页搜素对应文章关键词

前3步骤 创建、进入、配置类似,第3步骤根据自己所建项目修改配置

5.1、创建目录

mkdir -p /root/data/docker_data/halo

目录说明:

这样未来安装多个项目时目录不会混乱。

/root
└─ data
└─ docker_data
└─ halo

5.2、进入目录

cd /root/data/docker_data/halo

5.3、配置

nano docker-compose.yml

💡 Nano 编辑器小贴士:

  • 粘贴内容: 在终端点击鼠标右键,或使用快捷键 Shift + Insert
  • 保存修改:Ctrl + O,然后按 Enter 确认文件名。
  • 退出编辑器:Ctrl + X
  • 注意: 如果你对文件做了改动,退出时会询问是否保存,输入 y (Yes) 即可。

5.4、nano 编辑器输入:

services:
  halo:
    image: halohub/halo:2.22.13
    container_name: halo
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - ./:/root/.halo2
    ports:
      - "8090:8090"
    command:
      - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
      - --spring.r2dbc.username=root
      # (需修改处 1/5 )MySQL的密码记得修改,并且与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=123changword1
      - --spring.sql.init.platform=mysql
      # (需修改处 2/5 )外部访问地址,请根据实际需要修改,如http://102.171.142.32/:8090
      - --halo.external-url=http://localhost:8090/
      # (需修改处 3/5 )初始化的超级管理员用户名,记得改
      - --halo.security.initializer.superadminusername=123changename
      # (需修改处 4/5 )初始化的超级管理员密码,记得改
      - --halo.security.initializer.superadminpassword=123changword2

  halodb:
    image: mysql:8.0.36
    container_name: halodb
    restart: on-failure:3
    networks:
      halo_network:
    command: 
      - --default-authentication-plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
    volumes:
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
      interval: 3s
      retries: 5
      start_period: 30s
    environment:
      # (需修改处 5/5 ) 此密码对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
      - MYSQL_ROOT_PASSWORD=123changword1
      - MYSQL_DATABASE=halo

networks:
  halo_network:

保存按 Ctrl + O,然后按 Enter 确认

退出按 Ctrl + X

5.5、启动halo

docker compose up -d

5.6、完成

此时打开浏览器,输入 http://vps_ip:8090 即可访问【vps_ip 改为你购买的 vps 的 ip 地址即可打开自己搭建的网页】

到这搭建网站和访问所有步骤已经完成

下面 六、七 俩章节为进阶操作

通过ip+端口让别人访问,总觉得不够简洁 / 担心隐私泄露?

可以通过反向代理后让别人直接通过你的域名访问你的网站

比如我的名字叫rckin我就可以购买一个 rckin.com 的域名,别人点击一下就能访问了,也不用担心ip暴露


六、购买域名+域名托管

6.1、购买域名

刚开始测试可以只买 .top 后缀的,仅仅需要1美元1年(优惠码:rckin

可点击前往 namesilo 购买,点击链接购买我可以拿到一点奖励分成,感谢各位小伙伴的支持

购买教程:点击链接视频滑动到视频第3步即可:哔哩哔哩YouTube

6.2、域名托管到cloud flare

托管步骤点击视频链接 哔哩哔哩视频 看7分05秒

cloud flare注册官网:https://dash.cloudflare.com/sign-up

namesilo主页:NS主页


七、域名反代(安装Nginx)

7.1、安装 Nginx Proxy Manager

购买完域名和让域名托管在cloud flare后,我们终于可以回到moabxterm了

现在开始给 VPS 安装 Nginx Proxy Manager 进行域名的反向代理(即将 域名 指向 ip+端口 )

7.1.1、创建文件夹目录
mkdir -p /root/data/docker_data/npm
7.1.2、进入文件夹
cd /root/data/docker_data/npm
7.1.3、配置
nano docker-compose.yml
7.1.4、nano输入①或者②:

①自带拉取当下最新版

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest' # 使用 latest 以获取最新的安全更新和维护工具
    container_name: npm
    restart: unless-stopped
    ports:
      - '80:80'   # HTTP 流量
      - '443:443'  # HTTPS 流量
      - '81:81'   # 管理后台端口
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

②目前稳定版已更新到 2.13.7 (2026.03.09)

services:
  app:
    image: jc21/nginx-proxy-manager:2.11.3 #如需升级,请手动修改版本号并重新 docker compose pull
    restart: unless-stopped
    ports:
      - '80:80'  # 保持默认即可,不建议修改左侧的80
      - '81:81'  # 冒号左边可以改成自己服务器未被占用的端口
      - '443:443' # 保持默认即可,不建议修改左侧的443
    volumes:
      - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
      - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中

💡 Nano 编辑器小贴士:

  • 粘贴内容: 在终端点击鼠标右键,或使用快捷键 Shift + Insert
  • 保存修改:Ctrl + O,然后按 Enter 确认文件名。
  • 退出编辑器:Ctrl + X
  • 注意: 如果你对文件做了改动,退出时可能询问是否保存,输入 y (Yes) 即可。
7.1.5、配置启动
docker compose up -d

7.2、打开 Nginx

此时我们可通过浏览器 http://vps_ip:81 访问 NPM 面板 如 http://102.171.142.32:81

⚠️ 补充(小白暂时别看这句话):生产环境建议不要长期对公网暴露 81 管理端口,域名配置完成后可关闭,可将'81:81'改为'127.0.0.1:81:81',后续访问NPM可通过走 SSH 隧道:ssh -L 81:127.0.0.1:81 root@你的VPS_IP,然后再浏览器http://localhost:81 。


通过 http://vps_ip:81 访问 Nginx 面板后

7.2.1、登录

默认登录账号密码:

默认Email:       [email protected]    #记得改
默认Password:    changeme             #记得改
7.2、添加代理主机
7.3、添加域名,开启ip代理
7.4、启动https协议,添加证书,搞定!

此时任何人点击你的域名(如 rckin.com) 即可访问所搭建的网站了


八、补充1:大陆VPS装docker

大陆服务器由于网络原因不能直接访问docker网站,所以我们可以去国内镜像网站拉取docker和compose

大陆服务器1.3,1.4步骤不一样,且要多一步 开通防火墙,国内大厂阿里云,腾讯云等等都自带防火墙

8.1、打开提供商控制台


8.2、找到防火墙设置

必须开放端口:

80

443

81(如未关闭)

8888(本篇项目默认端口)


8.3、安装 Docker 环境(大陆服务器)

8.3.1、安装脚本
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
8.3.2、设置开机启动
systemctl enable docker

8.4、安装 Docker-compose大陆服务器)

apt install docker-compose-plugin -y

8.5、后续步骤与上面相同

回到总文章上面的 第五步、安装项目(马年红包) 即可,(大陆/非大陆后续步骤一样)

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
广告 广告

评论区