Halo博客的搭建(二.1)——安装Halo
本文最后更新于 2025-04-30,若需联系:请发至[email protected]
一、部署halo
参考官方文档:
我用的是Docker Compose部署的,因为哥说这个方便一点
SSH连接后,输入mkdir ~/halo && cd ~/halo 创建halo文件夹&进入此文件夹。
创建新的yaml配置文件(以下均在halo文件夹中操作):nano docker-compose.yaml
我使用的是Halo + PostgreSQL,所以在终端中输入以下配置文件内容:
其中的XXXXXX两部分可更换为你自定义的密码,但要保持相同
version: "3"
services:
halo:
image: registry.fit2cloud.com/halo/halo:2.20
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
environment:
# JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数
- JVM_OPTS=-Xmx256m -Xms256m
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=XXXXXXXXX
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: postgres:15.4
restart: on-failure:3
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=XXXXXXXXXX
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:根据控制台下方提示:
按 Ctrl + O → 回车保存。
按 Ctrl + X 退出nano。
然后在终端中就可以使用docker-compose up -d 来启动halo服务了
1.1、更新halo
理论上有新版更新halo控制台中会推送弹窗,不过你也可以看他release里最新的版本号
比如出到20.20.19了。就去1panel里找到halo的安装路径(容器-编辑里面就有显示),把docker-compose.yaml文件里的版本号<2.20>改为最新的版本号(不要加LTS)
services:
halo:
image: registry.fit2cloud.com/halo/halo:2.20然后在这个文件夹里运行docker-compose up -d 等一会自动 pull & restart 就OK了。
二、halo控制台
理论上当你安装好halo之后在浏览器上输入http://你的机器IP:8090/console 就可以访问halo的控制台了
在首次访问网站的时候会自动跳转到初始化页面,你需要完成这个步骤才能正常使用 Halo。
应该不用解释上面是啥,就是新建一个superadmin账号
登录完成后主界面如下图:

当然现在你访问http://你的机器IP:8090/ 就会显示博客的前台页面
三、各项目块简单介绍
里面的东西自己看着官方文档了解就行
3.1、仪表盘
用不太到
3.2、内容
3.2.1、文章
里面的文章不是默认按时间顺序从上往下排列,是最近创建顺序
右上角可以自己设置分类和标签,也可以写完一篇之后在设置里自己新建
要说明的一点,文章编辑器最好还是用chrome,Firefox没测试不喜欢用,safari会有拼写粘黏(自己起的名)情况,如下
hao好啊,ru如果wo我和你一起走,na那你晚上hai还吃饭吗,貌似是把输入候选框里的首字拼音直接落到编辑器里了,而且诡异的是网页中部去打字没问题,但是整个网页下部编辑器的位置去打字就这样,离谱
3.2.2、页面
是博客所有可见页面的基础的集合,与文章不同


每一个网页都需要创建一个页面存放
3.2.3、附件
尽量分组存放便于管理
最好将封面图存在这里面,文章内的图随便去传到三方图床(下面的插件部分有介绍)
*因为文章页头图跟随封面颜色模糊功能,貌似只支持封面存在halo里。。
3.2.4、图库
显示图片页面的图片,可分组
3.3、外观
3.3.1、主题
每个主题配置也不一样,会了一个理论上就会第二个
参见:
3.3.2、菜单
以洪哥的博客为例
页头:

页脚:

这里的显示内容即为菜单,都在菜单项中自定义(若不想显示就和我一样新建个空白菜单)

3.4、系统
3.4.1、插件
放于下文中介绍
3.4.2、设置
3.4.2. 1、文章设置
最下方可选择默认存储策略
3.4.2. 2、代码注入
全局head标签通常是导入外部资源的地方
内容页head标签 不太常用,能被全局覆盖,除非有特定页面要求
页脚 可以设置页脚的样式和添加自定义东西
3.4.3、通知设置
我用的自己的通知模版,别的就不研究了
3.5、备份
很有必要
3.6、工具
下了插件就多了
