侧边栏壁纸
博主头像
木云舟

行动起来,活在当下

  • 累计撰写 3 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

从零到一:Ubuntu 24.04 搭建 Halo 博客并集成阿里云 OSS 全记录

序言

搭建一个属于自己的博客不仅仅是技术活,更是一次解决问题的实战演练。本篇文章将记录我从购买服务器开始,利用 1Panel 面板搭建 Halo 博客,并最终成功关联 阿里云 OSS 存储的完整历程。


一、 环境准备

在开始之前,我的基础配置如下:

  • 操作系统:Ubuntu 24.04 LTS

  • 管理面板:1Panel(基于容器化的现代运维面板)

  • 博客系统:Halo 2.x

  • 域名xiaohui-code.cn


二、 1Panel 环境下的 Halo 部署

1. Docker 镜像加速

在安装 Halo 之前,最先遇到的往往是网络问题。

  • 痛点:由于网络环境影响,Docker 镜像拉取极慢甚至报错。

  • 对策:在 1Panel 的【容器】->【配置】中,添加国内镜像加速源。确保 docker pull 能够秒速完成。

2. 数据库连接难题

Halo 在初始化配置时,数据库地址是新手最容易踩坑的地方。

  • 注意点:在 1Panel 的容器架构下,不要使用 127.0.0.1

  • 解法:使用 1Panel 自动生成的 MySQL 容器名称。这样 Halo 容器才能在内部网络中通过 DNS 解析找到数据库。

3. 反向代理与端口开放

为了让博客通过域名访问,我们需要配置 OpenResty(Nginx):

  • 反向代理:将 xiaohui-code.cn 指向 Halo 容器的内部 IP 和端口。

  • 防火墙:在 1Panel 安全设置中放行对应的 Web 端口(80/443)。


三、 进阶:关联阿里云 OSS 存储

为了减轻服务器的带宽与存储压力,我将静态资源迁移到了阿里云 OSS。

1. 插件配置

在 Halo 后台的应用市场中,安装 对象存储(S3 协议) 插件。阿里云 OSS 完美支持 S3 协议,配置参数如下:

  • Endpoint:填写你 Bucket 所在地域的访问域名。

  • Bucket 名称:对应的 OSS 存储桶名。

2. 安全实践:使用 RAM 用户

严禁直接使用主账号的 AccessKey,这是极其危险的操作。

  • 操作流程

    1. 进入阿里云 RAM 控制台,新建子用户。

    2. 勾选 OpenAPI 调用访问,保存好生成的 AccessKey IDAccessKey Secret

    3. 为该用户授予 AliyunOSSFullAccess 权限。

  • 优势:即便该 Key 泄露,黑客也只能操作你的 OSS 资源,无法触及你的账号核心资产(如服务器、余额等)。


四、 疑难杂症回顾

Q:删除 RAM 用户后重新添加需要注意什么?

A:重新创建子用户后,旧的 AccessKey 会立即失效。必须在 Halo 的 OSS 插件配置中同步更新最新的 AccessKey IDSecret,否则会导致博客后台图片上传失败或前端图片无法加载。


五、 总结

从服务器选购到域名备案,从 1Panel 的容器化管理到 OSS 的云端存储,这一路走来虽有波折,但更多的是掌握新工具的快感。

希望这份记录能帮助你在搭建 Halo 的过程中少走弯路!

0

评论区