前言
在数字化时代,拥有一个独立、灵活又安全的个人网站,不仅能展示内容,还能让你的创作更好地被世界看见。Halo2 作为一款强大易用的开源建站工具,凭借简洁优雅的界面、优秀的插件生态和活跃的社区支持,成为众多开发者和博主的首选。
本教程将带你从零开始,手把手完成 Halo2 的 Docker 部署,同时详细讲解如何为网站做好 备份与恢复,让你在享受极简建站体验的同时,轻松保障数据安全。无论你是想打造个人博客、技术文档平台,还是为项目搭建展示站点,这篇“全攻略”都能帮你快速上手并稳定运行属于你自己的网站。
接下来,让我们一步步探索如何用最简洁的方式,搭建一个高效又可靠的 Halo2 网站吧!
项目简介
强大易用的开源
建站工具
项目图片
demo
环境地址:https://demo.halo.run
后台地址:https://demo.halo.run/console
用户名:demo
密码:P@ssw0rd123…
示例1精选网站
https://www.oceandatum.com/###
示例2企业官网
示例3商务网站
示例4知识库
示例5企业博客
示例6个人网站
示例7导航网站
更多
https://www.halo.run/showcase/websites?tag=personal-website
主要功能
🌟 Halo2 建站工具的核心特点
1️⃣ 可插拔架构
Halo2 采用灵活的 可插拔架构,各功能模块之间耦合度低,方便按需组合:
- 支持在运行时安装或卸载插件,无需重启服务
- 轻松集成第三方平台,提升网站能力
- 提供统一的配置表单和插件开发接口,方便扩展和维护
- 支持自定义模型,并能自动生成 RESTful API,满足多样化业务需求
2️⃣ 功能丰富的主题机制
Halo2 为前台界面提供完善的 主题模板系统,让网站外观更自由:
- 动态切换主题模板,随时调整站点风格
- 支持实时编辑与效果预览,所见即所得
- 内置多语言支持,适合国际化网站
- 主题可与插件结合,实现更多定制功能
3️⃣ 强大的编辑器
Halo2 自带一款功能全面的 富文本编辑器,让创作体验更轻松:
- 完整支持标题、段落、引用、列表、代码块等排版元素
- 支持拖拽或粘贴图片上传,也可轻松插入视频和多媒体内容
- 编辑器可通过插件扩展,为文章创作提供更强大的工具
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷
准备条件
1)一台服务器
配置最好不低于2G内存2核CPU
2个容器占用内存情况如下将近1G的占用,使用过程中可能会增加
我们使用莱卡云VPS来演示
需要vps的可以看以下信息
莱卡云官网
香港VPS
香港Colo数据中心,3C直连,平均延时30+ms,免备案
名称 | CPU | RAM | 硬盘 | 带宽 | 月流量 | 价格 | 购买链接 |
---|---|---|---|---|---|---|---|
香港BGP 标配版 | 1C | 1G | 30G | 3Mbps | 无限 | 22 元/月 | 点我购买 |
香港BGP 限量款 | 2C | 4G | 30G | 3Mbps | 无限 | 25 元/月 | 点我购买 |
香港BGP(弹性) | 2 – 16C | 4 – 32G | 30 – 400G | 3 – 20Mbps | 无限 | 22 元/月起 | 点我购买 |
香港Mega Two数据中心,三网CN2 GIA优化,实现全国超低延迟。
名称 | CPU | RAM | 硬盘 | 带宽 | 月流量 | 价格 | 购买链接 |
---|---|---|---|---|---|---|---|
香港CN2 GIA 标配版 | 1C | 1G | 20G | 3Mbps | 无限 | 30 元/月 | 点我购买 |
香港CN2 GIA(弹性) | 2 – 32C | 2 – 128G | 40 – 700G | 3 – 30Mbps | 无限 | 48 元/月起 | 点我购买 |
日本VPS
日本服务器介绍
电信去程163,回程CN2,移动联通双程骨干直连,宽带质量优秀。
名称 | CPU | RAM | 硬盘 | 带宽 | 月流量 | 价格 | 购买链接 |
---|---|---|---|---|---|---|---|
日本CN2(弹性) | 1 – 16C | 1 – 16G | 20-200G | 5 – 20Mbps | 不限流量 | 46 元/月起 | 点我购买 |
日本CN2大带宽(弹性) | 1 – 16C | 1 – 16G | 20-200G | 20 – 50Mbps | 500G/月 | 55 元/月起 | 点我购买 |
韩国VPS
韩国服务器介绍
韩国CN2优化线路,大陆访问快速响应,电信CN2
线路,带宽质量优秀
名称 | CPU | RAM | 硬盘 | 带宽 | 月流量 | 价格 | 购买链接 |
---|---|---|---|---|---|---|---|
韩国CN2(弹性) | 1 – 32C | 1 – 128G | 20 – 100G | 3 – 20Mbps | 看需求 | ¥ 35.00 起/ 月 | 点我购买 |
韩国CN2大带宽(弹性) | 1 – 32C | 1 – 128G | 20 – 100G | 20 – 50Mbps | 300G/月起 | 38 元/月起 | 点我购买 |
美国VPS
美国T级防御云服务器介绍
去程普通线路,回程CN2/9929线路,大陆防御值为200G,超过峰值解封快。
名称 | CPU | RAM | 硬盘 | 带宽 | 月流量 | 价格 | 购买链接 |
---|---|---|---|---|---|---|---|
美国T级防御(弹性) | 1 – 16C | 1 – 16G | 20 – 100G | 20 – 300Mbps | 不限流 | 40 元/月起 | 点我购买 |
美国高防(弹性) | 1 – 16C | 1 – 16G | 20 – 200G | 10 – 30Mbps | 不限流 | 58 元/月起 | 点我购买 |
美国高防大带宽(弹性) | 1 – 16G | 1 – 16G | 20 – 200G | 20 – 50Mbps | 500G/月 | 56 元/月起 | 点我购买 |
2)本项目使用到的开源项目
https://github.com/halo-dev/halo
目前有36.9k stars
更多功能或者二次修改可以访问开源项目地址
3)域名(可选)
域名可以根据自己的需求绑定
①《vps上搭建》
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir halo2;cd halo2 #创建一个目录,并进入此目录
然后再新建docker-compose.yml
vim docker-compose.yml
services:
halo:
image: registry.fit2cloud.com/halo/halo:2
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8990:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
environment:
- JVM_OPTS=-Dreactor.bufferSize.small=1024 # JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
- --spring.r2dbc.password=o#DwN&JSa56112233 # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.sql.init.platform=mysql
- --halo.external-url=https://www.ywsj.tk # 外部访问地址,请根据实际需要修改
halodb:
image: mysql:8.1.0
restart: on-failure:3
networks:
halo_network:
command:
- --default-authentication-plugin=caching_sha2_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:
- MYSQL_ROOT_PASSWORD=o#DwN&JSa56112233 # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_DATABASE=halo
networks:
halo_network:
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
halo2-halo-1 registry.fit2cloud.com/halo/halo:2 "sh -c 'java -Dreact…" halo 43 seconds ago Up 20 seconds (health: starting) 0.0.0.0:8990->8090/tcp, [::]:8990->8090/tcp
halo2-halodb-1 mysql:8.1.0 "docker-entrypoint.s…" halodb 44 seconds ago Up 42 seconds (healthy) 3306/tcp, 33060/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口8990)防火墙就可以web端访问了
http://ip:8990
根据提示初始化管理员信息
登录成功
安装插件
可以安装StackEdit插件实现实时预览markdown语法
安装主题
其他功能自行研究
五、网站备份
方法1
直接使用官方的备份方法-备份和恢复
方法2
直接在服务器使用tar命令打包halo2整个目录
备份
可以使用以下命令
tar -zcf halo2-bak20250912.tar.gz halo2
恢复
在另一台服务器上解压恢复即可
tar -xvf halo2-bak20250912.tar.gz
绑定域名
如需绑定域名的自行绑定
视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区