夜雨聆风学习资料网

ARTICLE · 1052459

Halo 上手记:后台装主题和插件像装 App,不用碰服务器配置文件

Halo 上手记:后台装主题和插件像装 App,不用碰服务器配置文件

QUOTE

主题、插件都在后台点几下,服务器配置文件一次没碰过

上周我想把散落在几个笔记软件里的技术备忘收拢一下,顺手搭个小站。打开 WordPress 的安装向导,配 PHP 版本、选主题、装插件、跟一堆提示搏斗,折腾到一半,我把标签页关了。

后来换了个思路。在一台 1G 内存的小服务器上敲了一行 docker run,浏览器打开 8090 端口,填站点名、管理员邮箱、密码,回车。后台就出来了。

后面的事更省心。换外观就在应用市场点个主题,加搜索就装个插件。整个过程我没打开过服务器上的配置文件。

这个工具叫 Halo。2018 年就开源了,GitHub 上现在 3.9 万 Star。我之前一直以为它就是个「博客程序」,真用一遍才发现,它的定位比我想的宽。

— 项目名片:左侧为 Halo 官方标识,右侧信息由本文整理

本文看点

01

它是做什么的

国产开源,3.9 万 Star

02

怎么装

一行命令 / Compose + PostgreSQL

03

一些注意事项

内存占用、子目录代理、付费功能

01

ABOUT

它是做什么的

Halo 是一款开源的建站工具,用 Java 和 Spring Boot 写的,遵循 GPL-3.0 协议。仓库建于 2018 年 3 月,累计 3.9 万 Star、1 万多次 Fork。

官方文档给出的适用场景有四类:个人博客、知识库、企业官网、在线商城。这四样跑在同一套后台里——可以只发文章,也可以当公司站点的 CMS。官网案例页上还能看到 JumpServer、Zabbix 中国插件站这些真实站点。

有个容易被忽略的优点:国内团队在维护。官网、文档站、社区论坛全是中文,提 issue 和翻答案不用跟英文较劲。

当前最新版本是 v2.26.1,2026 年 9 月 1 日发布。Docker Hub 上 halohub/halo 这个镜像的累计拉取量已经超过 191 万次。

— Halo 后台,截自官方演示站。演示环境跑的是商业版,左侧「商店」那组菜单社区版没有

02

HIGHLIGHTS

用起来舒服的地方

我先去逛了它的应用市场。页面上写着 320 个应用,其中插件 192 个、主题 128 个。官方文档里却还写着「超过 100 款免费主题和插件」——这个数字没跟着市场更新,实际规模大概是它的三倍。

主题的风格跨度挺大。官方有 theme-earth 这种默认款,社区移植了 Sakura、Stack、Butterfly、Joe 3.0 这些在 Hexo、Hugo 圈子里很熟的脸,偏商业场景的有做官网的 Apex、做知识库的 Nexus、做商城的 Cartly。

插件更能说明它的架构是认真的。搜索、评论、RSS、Sitemap 这些基础需求有官方插件,对象存储接了阿里云 OSS 和 S3 协议(腾讯云、七牛云这类都兼容)。偏玩法的也不少:Meilisearch 全文搜索、图库、KaTeX 公式、追番数据、看板娘。甚至有个 WordPress 导入插件,能把老站的文章、分类、标签一次性搬过来。

装上、卸掉都是独立的。主题不满意换一个,数据不动;插件删掉,核心也不受影响。这点比某些系统里插件和核心纠缠、删完留一堆痕迹要干净。

— 应用市场里筛「主题」,卡片右侧直接是安装按钮

03

EXPERIENCE

真正用起来是什么样

写文章用的是内置编辑器,页面上有预览、保存、发布三个按钮,发布前点预览就能看渲染效果。想要更顺手的 Markdown 体验,应用市场里还有 ByteMD、StackEdit 这些编辑器插件可以换。

发布这一环比我预期全。标题、别名、分类、标签、摘要、封面图、置顶、可见性都能设,发表时间也能手动指定,等于支持定时发布。这些在静态博客里通常得改配置文件或手写 front-matter,Halo 是让你在表单里填。

权限是分角色的。官方文档提到基于 RBAC 的权限控制,能给不同的人开不同权限——比如只让某位同事写稿、不给改设置的权限。个人用不上,几个人一起维护站点时,这就不是装饰了。

还有个细节。Halo 的插件能直接往前台「长」东西:评论插件装上,前台页面会自己出现评论区,不用改主题模板。换个主题,评论和搜索都还在。

— 编辑器:顶部是预览、保存、发布,右侧是文章大纲

— 点「预览」,看到的就是前台渲染后的样子

04

INSTALL

怎么装

官方给的路径有好几条:Docker、Docker Compose、JAR 包,或者用 1Panel 面板一键部署。文档里最推荐 1Panel,它顺手把反向代理、SSL 证书和升级备份一起包了。

只想先看看长什么样的话,一行命令就够:

bash

docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.26

敲完打开 http://你的IP:8090/console,就是初始化页面。

不过这条命令不建议直接上生产,原因下一节说。正式用就走 Docker Compose,把数据库一起编排进来,官方推荐的组合是 Halo + PostgreSQL:

yaml

services:

halo:

image: registry.fit2cloud.com/halo/halo:2.26

restart: on-failure:3

depends_on:

halodb:

condition: service_healthy

volumes:

- ./halo2:/root/.halo2

ports:

- "8090:8090"

environment:

- JVM_OPTS=-Xmx256m -Xms256m

command:

- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo

- --spring.r2dbc.username=halo

- --spring.r2dbc.password=openpostgresql

- --spring.sql.init.platform=postgresql

- --halo.external-url=http://localhost:8090/

halodb:

image: postgres:15.4

restart: on-failure:3

volumes:

- ./db:/var/lib/postgresql/data

environment:

- POSTGRES_PASSWORD=openpostgresql

- POSTGRES_USER=halo

- POSTGRES_DB=halo

配置里有两处容易漏。一是 -v 那个目录映射别丢,Halo 的数据全在 ~/.halo2 里——数据库、主题、插件、附件,容器删了只要这目录还在就不怕。二是 --halo.external-url 要填真实访问地址,你用域名访问却留着 localhost,前台链接会歪。

默认的 H2 数据库别用在生产

上面那条 docker run 用的是内置 H2 数据库。官方明确写了:这种方式只适合体验和测试,生产环境不推荐,操作不当可能损坏数据文件。生产环境请上 PostgreSQL;实在没内存跑独立数据库,也要按时备份。

如果不用 Docker 镜像、改走 JAR 包部署,2.21 以上版本要求 JRE 21,2.20 及以下要求 JRE 17。内存官方建议至少留 1G。

05

WORKFLOW

从零到发出第一篇文章

1

初始化。首次打开会进初始化页面,填语言、外访地址、站点标题、管理员邮箱和密码。打算用域名的话,建议先把域名解析和反向代理配好再初始化。

2

挑主题。后台进应用市场挑一个点安装,回「已安装」里点启用,前台立刻变样。不喜欢再换,文章和设置都不会丢。

3

装几个基础插件。搜索、评论、Sitemap 是标配三件套。图片多的话加个对象存储插件,把文件扔到 OSS 或 S3 上,省服务器空间。

4

写第一篇。默认是富文本编辑器,右侧能看大纲;写完设好别名和摘要,预览确认再发布。

— 初始化向导,六项填完就能进后台

— 插件列表,右侧一排就是启停开关

06

LIMITS

一些注意事项

它不是轻量方案。Halo 跑在 Java + Spring Boot 上,容器里默认给 JVM 分 256M 内存,整机官方建议至少 1G。只想写博客的话,512M 的小机器跑 Hexo、Hugo 这类静态生成器,成本压得更低。Halo 换来的是后台、在线编辑、插件这套能力,这笔账得自己算。

不支持反向代理到子目录。官方文档写得很直接——目前不支持把 Halo 代理到 halo.run/blog 这样的子路径。想在同台服务器上再挂别的,得走二级域名。

社区版和付费版有落差。社区版开源免费、GPL-3.0,个人用已经够;移动端 App、AI 建站、手机号验证登录,以及 SEO 优化、付费阅读这些插件,都被放进了专业版和商城版。挑功能时留意哪些是付费的。

部署环境有限制。官方说 Halo 跑不了常见的「云虚拟主机」,得用云服务器或 VPS。好在门槛在降:官方推荐用 1Panel 一条龙部署,社区里也有不少人在 NAS 的应用商店一键装好。

— 官方文档原文:目前 Halo 不支持代理到子目录

THE END

项目地址

GitHub:https://github.com/halo-dev/halo

官网:https://www.halo.run

文档:https://docs.halo.run

社区论坛:https://bbs.halo.run

官方还有个在线演示站:https://demo.halocms.site ,后台入口在 /console,账号 demo,密码 P@ssw0rd123..。进去点几下主题和插件,比看十张截图直观。

演示环境是公开的,随时可能被重置,别往里写正经内容。

END
拥有数万开源项目工具的小程序上线了大家可以找到自己感兴趣的工具软件平台小程序还在持续不断更新测评中。

如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

相关学习资料