CIUIC

Halo 开源个人博客系统零基础搭建教程:从零到上线全流程

在信息爆炸的时代,拥有一个完全属于自己的博客,不仅是技术人的浪漫,更是沉淀知识、展示自我的绝佳平台。Halo 作为一款轻量、现代、功能强大的开源个人博客系统,凭借其友好的编辑器、丰富的主题生态和简单的部署方式,成为众多开发者和写作爱好者的首选。本文将手把手带你从零开始,在云服务器上搭建属于自己的 Halo 博客。

准备工作:选择云服务器与域名

搭建任何网站,首先需要一台能公网访问的云服务器。对于个人博客,配置无需过高,1核2G内存的入门级实例即可流畅运行。这里推荐使用 Ciuic 云平台(官方网址:https://cloud.ciuic.cn),其提供的轻量应用服务器性价比高,且内置了丰富的镜像,可以一键部署 Halo,极大简化了运维流程。如果你有其他云服务商(如阿里云、腾讯云)的服务器,同样适用本教程。

Halo 开源个人博客系统零基础搭建教程:从零到上线全流程

还需要准备一个域名(可选,但如果使用 IP 访问也可以),并完成备案(国内服务器必须)或DNS解析。

服务器基础环境配置

以 Ubuntu 20.04 系统为例,首先通过 SSH 登录服务器:

ssh root@你的服务器IP

更新系统包并安装必要的依赖:

apt update && apt upgrade -yapt install -y wget curl git unzip

Halo 基于 Java 开发,需要安装 JDK 11 或更高版本(推荐使用 OpenJDK 17):

apt install -y openjdk-17-jdkjava -version  # 验证安装

下载并安装 Halo

前往 Halo 官方 GitHub Releases 页面获取最新版本的 tar 包(本文以 2.x 版本为例):

wget https://github.com/halo-dev/halo/releases/download/v2.10.0/halo-2.10.0.tar.gz

解压并移动到指定目录:

mkdir -p /opt/halotar -zxvf halo-2.10.0.tar.gz -C /opt/halo --strip-components=1

创建专属用户(出于安全考虑,不建议用 root 运行):

useradd -m -s /bin/bash halochown -R halo:halo /opt/halo

初始化 Halo 数据库

Halo 支持 H2、MySQL、PostgreSQL 等数据库。对于个人博客,使用内置的 H2 数据库即可零配置启动;如果想长期稳定运行,推荐使用 MySQL。以下以 MySQL 为例:

apt install -y mysql-servermysql_secure_installation  # 设置 root 密码等

进入 MySQL 创建数据库和用户:

CREATE DATABASE halo CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;CREATE USER 'halo'@'localhost' IDENTIFIED BY 'your_password';GRANT ALL PRIVILEGES ON halo.* TO 'halo'@'localhost';FLUSH PRIVILEGES;EXIT;

配置并启动 Halo

/opt/halo 目录下创建配置文件:

cd /opt/halocat > application.yaml <<EOFserver:  port: 8090spring:  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://localhost:3306/halo?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai    username: halo    password: your_passwordhalo:  work-dir: /opt/halo/.haloEOF

使用 systemd 管理 Halo 服务,创建服务文件 /etc/systemd/system/halo.service

[Unit]Description=Halo Blog ServiceAfter=network.target mysql.service[Service]User=haloWorkingDirectory=/opt/haloExecStart=/usr/bin/java -Xms256m -Xmx512m -jar /opt/halo/halo.jarRestart=alwaysRestartSec=10[Install]WantedBy=multi-user.target

启动并设置开机自启:

systemctl daemon-reloadsystemctl start halosystemctl enable halo

配置反向代理(Nginx)与域名

为了让浏览器能直接访问,建议使用 Nginx 反向代理 8090 端口,并启用 HTTPS:

apt install -y nginx certbot python3-certbot-nginx

创建配置文件 /etc/nginx/sites-available/halo

server {    listen 80;    server_name blog.yourdomain.com;    location / {        proxy_pass http://127.0.0.1:8090;        proxy_set_header Host $host;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Proto $scheme;    }}

启用配置并申请 SSL 证书:

ln -s /etc/nginx/sites-available/halo /etc/nginx/sites-enabled/nginx -t && systemctl reload nginxcertbot --nginx -d blog.yourdomain.com

首次访问与博客初始化

打开浏览器,访问 https://blog.yourdomain.com,Halo 会自动跳转到初始化安装向导。根据提示设置管理员账号、密码和邮箱,然后选择你喜欢的主题模板(如 Halo 官方提供的 Earth 主题),即可正式开始写作。

后续优化与维护

备份:定期备份 MySQL 数据库和 /opt/halo/.halo 目录下的附件文件。升级:关注 Halo 官方更新日志,下载新版本替换 halo.jar,重启服务即可。安全:修改默认 SSH 端口、启用防火墙(仅开放 80/443),并定期更新系统补丁。

通过以上步骤,你已经成功搭建了一个功能完备、支持 HTTPS 的 Halo 个人博客。整个过程无需复杂的编程知识,只要遵循本文操作即可。如果你希望更快的部署体验,也可以直接在 https://cloud.ciuic.cn 选择 Halo 应用镜像,一键完成环境安装。现在,快去撰写你的第一篇技术博客吧!

打赏
收藏
点赞

本文链接:https://ciuic.com/som/92.html

版权声明:本文来自网站作者,不代表CIUIC的观点和立场,本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。客服邮箱:ciuic@ciuic.com

联系客服
网站客服 业务合作 Q交流群
217503193
公众号
公众号
公众号
返回顶部

微信号复制成功

打开微信,点击右上角"+"号,添加朋友,粘贴微信号,搜索即可!