Halo自建站博客介绍

Halo 是什么?

Halo 是一款现代化的开源网站建设与内容管理系统(CMS) ,主要用于快速搭建博客、个人/企业网站、内容平台等。它以 强大易用、扩展灵活、插件/主题生态丰富 著称。 (GitHub)

Halo 的源码托管在 GitHub 上:

🔗 https://github.com/halo-dev/halo (GitHub)


一、定位与核心特性

1. 开源建站 CMS(Content Management System)

Halo 不是单纯的博客程序,而是一个完整的 CMS 平台

可用于:

  • 搭建博客
  • 企业/品牌展示站
  • 知识库、文档站
  • 灯塔页、个人主页等

这一平台的核心目标是:

让用户"以最少配置甚至零代码"即可建站,同时允许 深度定制网站功能与 UI 体验 。 (Halo - 强大易用的开源建站工具)


2. 技术栈

Halo 的底层技术栈核心包括:

组件 技术栈
后端 Java(基于 Spring Boot)
网络层 Netty 用于高性能异步 Web Server
数据访问 R2DBC 支持异步数据库操作
UI & 控制台 前端基于 Vue/TypeScript(集成在主仓库)

这套栈兼顾了高性能、扩展性与生态兼容性两个维度:

  • Java/Spring Boot 稳定成熟
  • R2DBC 提供异步数据访问以提升并发性能

服务器运行效率优秀且适合中小型内容站与企业官网部署。


二、核心功能模块

Halo 提供一套完整的 CMS 功能,包括但不限于:

1. 内容发布与管理

✔ 博客文章发布与分类管理

✔ 多级目录结构与标签体系

✔ 支持 Markdown、富文本内容编辑

2. 主题与插件生态

Halo 支持:

  • 主题机制:定制页面样式
  • 插件机制:扩展功能如评论、SEO、社交登录等

这意味着你不仅能"马上建站",还可以为特殊功能二次开发或自定义扩展 。 (iplc.best)


3. 管理控制台(UI 内置)

Halo 除了后端 API,还内置完整的 Web 控制台,用于:

  • 内容管理
  • 站点设置
  • 用户管理
  • 主题/插件管理
    开发环境中控制台代码托管在主仓库(ui 目录),无需独立运行服务。 (docs.halo.run)

4. 可部署方式灵活

Common deployment options:

方案 优点
Docker 容器 一键启动、环境一致
Jar 包运行 轻量部署
云服务部署 便捷弹性伸缩

官方提供镜像和示例命令用于快速跑起 Halo 环境。 (GitHub)


三、生态与社区

Halo 的生态非常活跃:

1. 主题仓库

有大量社区/官方主题供选择或自定义开发。 (GitHub)

2. 插件与扩展

通过插件你可以集成:

  • 评论系统
  • 访问统计
  • 搜索增强
  • 第三方服务对接

四、适用场景与优势

适合谁使用

  • 技术人员希望用 Java 技术栈构建网站
  • 企业/个人需要可扩展、高度定制的网站
  • 社区/博客作者需要完善 CMS 解决方案

Halo 的优势

维度 优势说明
易用性 即装即用,默认配置友好
可扩展性 主题/插件支持深度定制
技术成熟 基于 Java + Spring Boot 生态
部署灵活 支持 Docker、Jar、云部署
社区活跃 Stars 数万、活跃社区反馈

五、开发者视角亮点

1. 模块化架构

Halo 采用模块化组织代码,为功能可插拔、可测试提供天然优势。


2. API-First 设计

后台 RESTful API 设计规范,能够轻松被前端应用、移动客户端调用。


3. 技术支持与贡献

Halo 采用 GPL-3.0 开源协议 ,社区欢迎贡献,可以参与主题、插件、核心功能开发或提交 issue/PR。 (GitHub)


六、快速启动体验(官方示例)

如果你已有 Docker 环境,可以一条命令快速启动 Halo:

bash 复制代码
docker run -d --name halo -p 8090:8090 \
  -v ~/.halo2:/root/.halo2 halohub/halo:2.21

访问:http://localhost:8090 即可体验 Halo CMS。 (GitHub)


七、参考链接

2. 安装使用Halo

2.1. 安装部署

安装部署官方文档地址如下:使用 Docker Compose 部署 | Halo 文档

yml 复制代码
version: "3.8"

services:
  halo:
    image: halohub/halo-pro:2.22.4
    container_name: halo
    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=openpostgresql
      - --spring.sql.init.platform=postgresql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
  halodb:
    image: postgres:15.4
    restart: on-failure:3
    container_name: halo-pg
    networks:
      halo_network:
    volumes:
      - ./db:/var/lib/postgresql/data
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo

networks:
  halo_network:

2.2. 启动容器,创建用户

2.3. 安装插件

安装相关markdown插件

2.4. 启用插件

2.5. 导入文件

2.6. 查看博客

2.7. 如果需要图床,可以接入其他的内容

相关推荐
chunmiao303215 小时前
了解github上,watch,fork,star代表啥
github
CoderJia程序员甲16 小时前
GitHub 热榜项目 - 日榜(2026-01-30)
开源·大模型·llm·github·ai教程
Aliex_git17 小时前
Claude Code 使用笔记(四)- GitHub Claude 审查助手
人工智能·笔记·学习·github·ai编程
MicrosoftReactor18 小时前
技术速递|使用 GitHub Copilot SDK 构建智能体:自动化技术更新追踪实战指南
自动化·github·copilot
LeenixP18 小时前
GitHub Copilot 调用第三方模型API
ai·github·copilot·ai编程·oai compatible
WINDHILL_风丘科技18 小时前
面对汽车三高试验挑战,TFM远程管理平台能否成为破局关键?
人工智能·汽车·github
lambert.wang2 天前
当使用 uv 下载 Python 解释器时出现异常,通常是因为网络连接问题导致无法从 GitHub 下载安装包
python·github·uv
Ama_tor2 天前
obsidian插件系列|从github下载插件banners及简单应用
github·obsidian·banner
智绘前端2 天前
GitHub 登录功能开发 SOP
人工智能·typescript·github·reactjs
CoderJia程序员甲2 天前
GitHub 热榜项目 - 日榜(2026-01-29)
git·ai·开源·llm·github