从零搭建高可用个人博客:Lighthouse + 1Panel + Halo 全流程实战

从零搭建高可用个人博客:Lighthouse + 1Panel + Halo 全流程实战

摘要

在这篇文章中,我完整记录了自己从零搭建个人技术博客的全过程。我使用腾讯云 Lighthouse 的入门配置(2核2G),通过重装系统选择 1Panel 应用模板 ,一键获得可视化运维能力。随后,我在 1Panel 的应用商店中部署了 Halo 博客系统 ,并主动将默认的 H2 数据库替换为 PostgreSQL------这是我认为从"玩具项目"迈向"生产可用"的关键一步。

为了让博客真正被搜索引擎发现,我不仅配置了精准的站点标题、描述和关键词(如"云原生""开发经验""技术分享"),还安装了 Halo 的 SEO 插件以增强元数据控制。此外,我还探索了几个高阶集成:

  • MinIO 实现媒体文件的对象存储,便于未来对接 CDN;
  • Prometheus + Grafana 构建监控看板,让博客本身成为一个"可观测系统";
  • 尝试 AI 插件实现自动摘要与评论审核,提升内容管理效率。

整个过程完全基于 Web 界面操作,无需频繁 SSH 登录。即使你是运维新手,也能在 1 小时内复现。如果你和我一样,追求低成本、高可控、强扩展的个人博客方案,这套实践或许正是你所需要的。

背景介绍

作为一个长期深耕技术领域的个人开发者,我一直希望能拥有一个真正属于自己的博客平台------不仅能自由掌控内容与样式,还要兼顾 SEO 友好性、系统稳定性,同时不能在运维上耗费太多精力。过去我尝试过静态站点生成器(如 Hugo、Hexo),也用过 SaaS 博客平台,但要么缺乏灵活性,要么难以深度优化。

在反复权衡后,我决定回归"可控的自托管"路线。但问题来了:我既不想每天和命令行打交道,又希望系统具备生产级能力(比如可靠的数据库、可观测性、媒体存储分离)。更重要的是,我的硬件预算有限,必须在低成本前提下快速验证方案。

于是,我选择了 腾讯云 Lighthouse + 1Panel + Halo 这套组合:用轻量服务器控制成本,用 1Panel 图形化面板降低运维门槛,用 Halo 专注内容创作。这套方案不仅让我在 2GB 内存的机器上跑起了完整的博客系统,还为后续集成 PostgreSQL、MinIO、Prometheus 甚至 AI 插件预留了扩展空间。

Lighthouse

服务器配置

进入到腾讯云LightHouse控制台:console.cloud.tencent.com/lighthouse/

目前我是有两台LightHouse服务器的,这里我选择北京的这一台,其配置如下:

项目 配置详情
CPU 2核
内存 2GB
系统盘 SSD云硬盘 50GB
公网带宽 5Mbps
月流量包 400GB

我这个配置属于典型的"入门级"轻量应用服务器,适合个人博客、小型网站或学习测试。

1Panel

什么是 1Panel?

1Panel 是一款现代化、开源免费的 Linux 服务器运维管理面板,由国内团队"飞致云"开发。它旨在为开发者和系统管理员提供一个简洁、高效、安全、易用的可视化操作界面,替代传统的命令行操作,让服务器管理变得像使用 Windows 或 macOS 一样直观。

✅ 官网:1panel.cn

📦 开源地址:github.com/1Panel-dev/...

它将复杂的服务器运维工作,转化为简单的点击操作,是现代开发者和运维人员提升效率、降低门槛的理想工具。无论是搭建个人博客、部署企业官网,还是管理数据库和容器,1Panel 都能让你事半功倍

对比项 传统命令行 宝塔面板 1Panel
学习成本
界面美观度 较好 极简现代
开源协议 N/A 闭源(部分功能) 完全开源
资源占用 最低 较高 轻量高效
功能丰富度 依赖手动操作 非常丰富 功能全面,持续迭代

LightHouse安装1Panel

这里重装系统,选择应用模板-1Panel Linux面板

重装完毕之后,在应用管理中查看1Panel的面面登录地址信息

登录到服务器之后,运行下方这段代码,获取用户名和密码

bash 复制代码
sudo /opt/1panel/get-1panel-info.sh

这里需要修改一下密码先

sql 复制代码
1pctl update password

但是这里访问的时候,发现是无法访问的

查看一下防火墙发现默认端口8090并没有被放行

所以这里需要新增一个放行8090端口的规则才能正常访问

访问1Panel

然后再次访问,就来到的1Panel的登录页面

输入刚刚返回的账号和修改后的密码:

进入到1Panel主页

功能模块 核心功能
应用商店 - 一键安装 Halo、WordPress、MySQL、Redis、Nginx、OpenResty、MaxKB、宝塔兼容版等 - 支持版本管理、启停、卸载、配置修改
网站管理 - 可视化创建站点、绑定域名 - 自动申请并配置 Let's Encrypt SSL 证书 - 支持反向代理、PHP 版本选择、访问日志查看
数据库管理 - 图形化管理 MySQL 和 PostgreSQL - 支持创建数据库/用户、SQL 导入导出、远程连接设置
文件管理 - 类资源管理器界面,支持上传、下载、编辑、压缩/解压、权限设置 - Web 端直接编辑代码文件
系统监控 - 实时显示 CPU、内存、磁盘、网络流量、系统负载 - 提供历史趋势图,便于性能分析与故障排查
终端与计划任务 - 内置 Web 终端,浏览器内执行命令 - 可视化创建 Cron 定时任务(如自动备份、日志清理)
安全与高级功能 - 防火墙规则配置(ufw/iptables) - SSH 密钥管理、登录日志审计 - 一键备份/恢复(系统、网站、数据库,支持本地或远程)
Docker - 可视化管理容器:拉取、运行、停止、删除、查看日志 - 镜像与容器卷管理

Halo

什么是 Halo?

Halo 是一款强大、易用、现代化 的开源建站工具(博客系统),由国内开发者主导,采用 Java 语言开发,后端基于 Spring Boot 框架,数据库支持 MySQL、PostgreSQL、H2 等。它致力于为个人和小型团队提供一个简洁、高效、可扩展的内容发布平台。

✅ 官网:halo.run

📦 开源地址:github.com/halo-dev/ha...

它没有臃肿的功能,专注于"写"与"展示",同时通过插件和主题保持高度灵活性。无论是想快速拥有一个个人博客,还是希望基于开源项目进行二次开发,Halo 都是一个非常值得推荐的选择。

安装Halo

在1Panel的应用商店中找到建站分类,安装Halo

Halo是一个博客系统,需要数据库作为数据存储,这里选择PostgreSql

这里优先创建PostgreSql

1Panel通过容器就自动帮我们创建PostgreSql

这里继续刚刚的Halo创建,端口设置为8091

可以看到Halo和PostgreSql已经安装完毕,系统会自动配置网络

访问Halo

Halo的访问地址是:http://服务器地址:8091,但是在访问之前记得先将服务器的端口开放,否则还是会被拦截。

先进行一个初始化配置,然后使用使用设置的管理员账户登录后台

这里就成功进入了控制台页面

功能模块 主要特点
应用商店 一键安装主流应用(如 Halo、WordPress、MySQL、Redis 等),支持版本管理、启停、配置修改与卸载
网站管理 可视化建站,支持域名绑定、自动申请 Let's Encrypt SSL 证书、反向代理、PHP 版本切换、日志查看
数据库管理 图形化操作 MySQL 和 PostgreSQL,支持创建库/用户、SQL 导入导出、远程访问配置
文件管理 类桌面文件浏览器,支持上传、下载、在线编辑、压缩解压、权限设置,无需 FTP 或命令行
系统监控 实时监控 CPU、内存、磁盘、网络、负载,并提供历史使用趋势图
终端与计划任务 内置 Web 终端;可视化创建 Cron 定时任务(如自动备份、日志清理)
安全与高级功能 防火墙管理、SSH 密钥配置、登录审计;支持系统/网站/数据库一键备份与恢复(本地或远程存储)
Docker 可视化管理镜像、容器、卷;支持容器生命周期操作(运行、停止、删除)及日志查看

Halo功能

这里我简单介绍一下Halo的功能,感兴趣的小伙伴可以自行体验:

个人中心
个人博客站点
文章详情
主题配置
应用市场

在应用市场中可以挑选不同的主题

安装方式也是极为简单,点击安装即可自动完成安装

下载之后按照图中配置换主题

这时候再来访问个人主页

SEO搜索优化

如果想让自己的个人博客站点被搜索到,那么需要进行SEO的配置当然可以,以下是针对您个人博客网站的 SEO 优化信息的优化表述,语言更自然、专业,同时保留关键词密度和搜索引擎友好性:

  • 站点标题:[你的博客名称] | 专注 [技术领域] 的个人技术博客
  • 站点描述:分享 [技术领域] 的实战经验、开发技巧与深度思考,记录一名开发者的技术成长之路。
  • 关键词:技术博客, [技术领域], 编程, 软件开发, 开发经验, 个人博客, 技术分享

💡 使用建议

请将 [你的博客名称] 替换为实际名称(如"张三的技术笔记"),

[技术领域] 替换为具体方向(如"后端开发"、"AI工程化"、"云原生"、"前端性能优化"等),

这样能让 SEO 更精准,吸引目标读者。

例如,如果您专注"云原生与容器技术",可写为:

  • 标题:云原生笔记 | 专注云原生与容器技术的个人博客
  • 描述:分享 Kubernetes、Docker、CI/CD 与 DevOps 的实战经验与深度解析。
  • 关键词:技术博客, 云原生, 容器, Kubernetes, Docker, DevOps, 开发经验, 个人博客

但是仅仅这样是不够的,我们还需要用到SEO插件

服务端集成选择

1. 为什么用 PostgreSQL(而不是默认的 H2)?

  • Halo 默认使用 H2 数据库 :这是一个轻量级嵌入式数据库,适合本地测试,但不适合生产环境(性能弱、不支持高并发、备份恢复困难)。
  • PostgreSQL 的优势
    • 开源、稳定、高性能,支持复杂查询和事务。
    • 更适合长期运行的博客,数据更安全可靠。
    • 便于后续扩展(如数据分析、多应用共享数据库)。
  • 结论:用 PostgreSQL 替代 H2,是将 Halo 从"玩具"升级为"生产系统"的关键一步。

2. 为什么集成 Prometheus + Grafana?

  • 目的:实现系统可观测性(Observability)
  • Prometheus :负责自动采集服务器、容器、Halo 应用的指标(如 CPU、内存、请求 QPS、响应时间)。
  • Grafana :将 Prometheus 的数据可视化,生成漂亮的监控面板。
  • 对博客的价值
    • 实时掌握网站性能与稳定性。
    • 快速发现异常(如流量突增、数据库慢查询)。
    • 体现技术深度------你的博客不仅是内容平台,本身就是一个"可观测的系统"。
  • 结论:不是必需,但能极大提升运维能力和技术展示价值。

3. 为什么用 MinIO?

  • Halo 默认将图片/附件存到本地磁盘,这在单机部署时没问题,但有局限:
    • 无法轻松迁移到其他服务器。
    • 不支持 CDN 加速。
    • 备份麻烦(需手动打包整个目录)。
  • MinIO 是一个兼容 S3 协议的开源对象存储
    • Halo 可配置将所有上传的图片、文件自动存到 MinIO。
    • 实现存储与计算分离,便于横向扩展。
    • 后续可对接 CDN、实现自动缩略图等高级功能。
  • 结论:为博客内容提供专业级的存储方案,提升可维护性和扩展性。

4. 为什么集成 AI?

  • 这里的"AI"通常指 AI 助手、内容增强或智能管理 ,例如:
    • Halo 插件:如 AI 自动生成摘要、标签推荐、评论审核(防垃圾)。
    • 独立 AI 服务:如用本地 LLM(如 Ollama)为博客增加"智能问答"功能("这篇文章讲了什么?")。
    • SEO 优化:AI 辅助生成关键词、元描述。
  • 价值
    • 提升读者体验(智能交互)。
    • 减轻作者负担(自动处理重复任务)。
    • 展示前沿技术整合能力(AI + 内容平台)。
  • 结论:属于"高阶玩法",体现技术前瞻性,非必需但极具吸引力。

AI助手本来就内助了,这是你只需要点进跳转

跳转到凌霞软件

登录之后就可以使用Upage构建网站了

一句话就能构建个人博客

并且可以部署到1Panel中,替代Halo

配置如下

5.多服务端

在1Panel的容器中,可以重复创建应用以搭建集群,因此,我们可以搭建多个Halo作为不同的博客需求。

总结

本文详细记录了我如何利用腾讯云 Lighthouse 轻量服务器 、开源运维面板 1Panel 与现代化博客系统 Halo ,从零搭建一个低成本、高可控、SEO 友好且具备生产级能力的个人技术博客。整个过程完全基于可视化操作:通过 1Panel 一键部署 Halo 和 PostgreSQL,替代默认的 H2 数据库以提升稳定性;配置防火墙与端口开放确保服务可访问;并通过 Halo 内置的应用市场更换主题、安装 SEO 插件,优化搜索引擎曝光。

在此基础上,我还探索了多项高阶集成:使用 MinIO 实现媒体文件的对象存储,便于未来对接 CDN;通过 Prometheus + Grafana 构建系统监控看板,让博客本身成为一个"可观测系统";并尝试引入 AI 插件实现自动摘要与智能问答,提升内容管理效率与读者体验。整套方案兼顾易用性与扩展性,特别适合预算有限但追求技术深度的个人开发者。


相关官方文档链接:

相关推荐
格林威4 小时前
AOI在传统汽车制造领域中的应用
大数据·人工智能·数码相机·计算机视觉·ai·制造·aoi
CClaris4 小时前
深度学习——反向传播的本质
人工智能·python·深度学习
FserSuN4 小时前
Mem0:构建具有可扩展长期记忆的生产级AI代理 - 论文学习总结1
人工智能·学习
rengang665 小时前
101-Spring AI Alibaba RAG 示例
java·人工智能·spring·rag·spring ai·ai应用编程
小Tomkk5 小时前
用 ai 给UI 页面打分 (提示词)
人工智能·ui
迦蓝叶5 小时前
JAiRouter v1.1.0 发布:把“API 调没调通”从 10 分钟压缩到 10 秒
java·人工智能·网关·openai·api·协议归一
why技术5 小时前
1K+Star的开源项目能给一个在校大学生带来什么?
前端·人工智能·后端
哲此一生9845 小时前
YOLO11追踪简单应用
人工智能·pytorch·深度学习