从零搭建 Halo 博客生态

引言

大家好,今天想跟你们聊聊我是怎么一步步搭建起自己的博客生态的。说起来,我之前也用过不少博客平台,什么WordPress、Hexo、Gatsby都用过,但总觉得要么太重,要么又太轻。直到后来发现了Halo这个小宝藏,才算是真正找到了一个既轻量又强大的博客系统。

Halo是国产的开源博客项目,用Java开发,界面清爽,主题插件生态也挺丰富的。最关键的是,它支持Docker部署,这对咱们这些喜欢折腾的技术爱好者来说简直太友好了。今天就把我的完整搭建过程分享出来,希望能帮到想自己搭博客的朋友。

准备工作

在开始之前,咱们先看看需要准备些什么。其实要求很简单:

- 一台VPS或者云服务器(1核1G就能跑得很流畅)

- 域名一个(可选,但建议还是准备一个)

- 基本的Linux操作知识

我用的是腾讯云的轻量应用服务器,2核4G的配置,每个月几十块钱,性价比很高。操作系统选的是Ubuntu 22.04,这个版本比较稳定,兼容性也好。

基础安装

最推荐的安装方式肯定是Docker,简单又干净。咱们先安装Docker:

# 安装Docker

curl -fsSL https://get.docker.com | bash

启动Docker

systemctl start docker

systemctl enable docker

Docker装好了,接下来就是跑Halo的容器。这里有个小技巧,建议用Docker Compose来管理,这样以后升级维护都方便:

version: "3"

services:

halo:

image: halohub/halo:2.17

container_name: halo

restart: unless-stopped

ports:

- "8090:8090"

volumes:

- ./halo2:/root/.halo2

environment:

- SERVER_PORT=8090

- SPRING_PROFILES_ACTIVE=prod

- HALO_EXTERNAL_URL=http://your-domain.com/

把上面的配置保存成docker-compose.yml,然后执行:

docker-compose up -d

等个一两分钟,Halo就启动起来了。这时候访问http://你的服务器IP:8090,应该就能看到初始化界面。按照提示一步步设置管理员账号、密码,选择一个喜欢的主题,博客就初步成型了。

主题与插件

博客搭起来了,接下来就是打扮它。Halo的主题市场有很多好看的主题可以选择,我个人比较喜欢用Paper这个主题,简洁大方,响应式做得也不错。

安装主题很简单,直接在后台管理界面的"外观"->"主题"里点击"从主题市场安装"就行。选好主题后,还可以自定义一些细节,比如网站图标、头像、背景图这些。

插件方面,我推荐几个必装的:

1. 评论组件 - Halo 2.x内置了评论功能,但如果想要更丰富的评论体验,可以装Vaptcha或者Artalk

2. Sitemap - 自动生成站点地图,对SEO很友好

3. 搜索增强 - 让站内搜索更智能

4. 图床管理 - 如果你想自己管理图片,这个插件很实用

这里特别说一下图床的问题。刚开始我用的是Halo内置的本地存储,后来发现不太方便,尤其是换服务器的时候。现在用的是Aliyun OSS配合Halo的OSS插件,每个月几块钱的存储费用,体验好很多。

进阶优化

博客能跑了,但要想让它跑得更好,咱们还得做些优化工作。

首先是反向代理。我用的是Nginx Proxy Manager这个Docker容器来管理SSL证书和反向代理,界面友好,操作简单:

version: '3'

services:

nginx-proxy-manager:

image: jc21/nginx-proxy-manager:latest

container_name: nginx-proxy-manager

restart: unless-stopped

ports:

- "80:80"

- "443:443"

- "81:81"

volumes:

- ./data:/data

- ./letsencrypt:/etc/letsencrypt

配置好反向代理后,记得去Halo后台把"外部访问地址"改成你的域名,这样主题生成的各种链接才会正确。

然后是备份。这个真的很重要!我每周都会手动备份一次halo2目录里的数据,包括配置文件和上传的图片。懒人朋友可以装自动备份插件,设置好计划任务就能自动跑。

最后是性能优化。Halo 2.x本身已经做了不少优化,咱们主要关注以下几点:

- 开启Redis缓存,显著提升访问速度

- 图片使用CDN加速

- 启用Gzip压缩

- 定期清理数据库中的冗余数据

总结

好啦,以上就是我从零搭建Halo博客生态的完整过程。总的来说,Halo真的是一个很适合个人博主的平台,界面清爽、功能齐全、文档详细,社区也很活跃。

从最初的服务器选购、Docker安装、博客部署,到后来的主题选择、插件配置、反向代理、SSL证书配置,虽然折腾了一圈,但看着自己的博客一点点完善起来,那种成就感是无法替代的。

如果你也在考虑搭建自己的博客,强烈推荐试试Halo。有什么问题欢迎在评论区留言,咱们一起交流探讨!