搭建一个属于自己的Halo博客

搭建一个属于自己的Halo博客

_

前言

现在我的博客使用的Halo系统,安装了Clarity的开源主题以及诸多的插件,针对该主题我已经写好了较为完善的使用文档(比开发者的文档还详细)

最终的效果如本站所示(如果当你看文章时我还没换系统的话)

本文将基于1Panel|宝塔|命令行 编写安装Halo CMS建站系统并安装Clarity主题的教程

如若你当前还未购买服务器和域名,可参考下方文章中基础系列的部分,并完成基础环境的部署

服务器最低配置&建议配置:2核4G,低于此配置会出现卡顿

https://www.uomn.cn/archives/zero-basis-collection

教程(1Panel)

安装必备应用

安装PostgreSQL数据库,该数据库相比于MySQL所需运存占用更小

安装配置默认即可

安装完成如下图(后台安装,可以不盯着安装进度)

接下来安装Halo应用

在安装Halo时,需指定数据库为PostgreSQL

然后点确认等待安装完成

以下就是目前所需的所有应用了(openresty安装在文章https://www.uomn.cn/archives/bu-shu-1panel-an-zhuang-ji-chu-huan-jing中提到了)

解析域名

登陆雨云控制台后,域名服务

选择想要使用的域名并进入解析页面

点击添加解析记录->自定义解析->输入主机名称和记录值,其余默认,后点击添加

  • 主机名称:网站的访问入口,例如https://halo.uomn.cn,其中halo为主机名称

  • 记录值:服务器的IP

添加网站

返回1Panel面板,创建网站,输入你的解析的域名

然后申请SSL证书,如下图所示步骤

如下图所示即申请成功

为网站设置SSL,流程如下图

初始化网站

访问你的网站域名,不出意外的情况下,会出现下图页面

PS:由于我忘记了演示域名没备案,用的国内服务器,无法访问,所以我教程写到这里卡住了,重新买的服务器部署,呜呜呜~~

然后输入这些必要的信息,点击初始化,这些信息后边都可以修改的

点击初始化后会跳转到登录页面,输入刚才填写的用户名和密码进行登录

出现下图页面,代表Halo已经安装完成

教程(宝塔)

如果还没安装好宝塔以及Docker,可参考下边的文章

https://www.uomn.cn/archives/baota-install-basic-env

容器编排

这里默认你的宝塔已经安装好了Docker,没安装的话安装一下,如果不会的话看上边的文章

先找到容器编排页面,点击添加容器编排

复制下方文本到Compose中,编排名称随便写。至于Halo的版本,则是截至今天的2.22.7版本,如需要其他版本,自行修改版本号即可

version: "3"

services:
  halo:
    image: registry.fit2cloud.com/halo/halo-pro:2.22.7
    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:18.1-alpine
    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=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo

networks:
  halo_network:

这里有几个注意的点,如果是在内网部署可以不用注意,上边的编排文本中,使用的数据库账号、密码是默认的,建议修改一下,防止被搞,如需修改这些信息,需要确保下图中,框选配置的值与箭头对应配置的值相同

确认无误后,点击确定部署容器

确定后会出现窗口显示安装进度,一般根据网络环境和服务器配置的不同而等待不同的时间,一般5分钟内完事

安装完成后会显示两个运行中的容器

然后在浏览器中访问IP:端口,测试是否能够进入到初始化界面,如果可以,则进行下一步绑定域名

如果访问不了,则可能是没有添加8090端口的防火墙,或者编排文本修改后出现错误

安装Nginx

如下图所示步骤

版本选择1.22.1即可,选择急速安装

安装完成后刷新一下页面

创建网站

点创建->反代容器,然后填写一下你要解析的域名、选择一下你要绑定的容器和端口,点击确定即可

访问域名显示Halo的初始化页面即安装完成,后续的初始化步骤参考上边基于1Panel部署的教程

注意:访问前记得申请下SSL,要不然可能访问不了

教程(命令行)

我猜应该没人直接用终端部署,所以就不写了,等有人需要我再写

安装Clarity主题

这个主题我已经写了一个文档,直接看文档即可,此处不再赘述

https://www.uomn.cn/docs/halo-pro/clarity/user-guide/installation-and-update

后记

Halo的生态还是很强大的,可以在Halo后台的应用市场搭配各种各样的插件对网站进行建设

零基础搭建Flarum论坛网站教程 2025-12-27
部署1Panel并安装基础环境 2025-12-26

评论区

© 2026 氢云小屋