关键字:建站系统,博客,内容管理,Spring Boot,Java,MySQL,Vue3, 插件,主题,RESTful API
项目名称:开源建站系统(含源码)
项目介绍
Halo 是一款现代化、轻量高效的开源建站与内容管理系统,基于 Spring Boot 后端框架搭建,可快速搭建个人博客、企业官网、资讯站点等各类网站,具备极强的扩展性与易用性。系统采用前后端分离架构,划分管理员与普通访客两大权限体系,集成主题切换、插件拓展、内容编辑、资源管理、评论互动等核心能力,支持 Markdown 富文本编辑与实时预览。系统依托稳定的技术架构保障运行效率,搭配简洁直观的后台管理界面,摆脱传统建站工具操作繁琐、拓展性差的痛点。管理员可一站式管理站点内容、主题插件、用户权限及媒体资源,普通用户可浏览内容、发布评论、检索资讯。该系统部署方式灵活,适配多种运行环境,社区生态完善,是个人开发者与中小型团队低成本搭建网站的优选方案。
项目结构目录

项目主要技术框架
3.1核心底层框架
Halo 系统采用主流 B/S 架构模式,适配 Windows、Linux 跨平台运行,支持 MySQL 等主流关系型数据库存储数据,依托 Java 生态实现业务逻辑开发。系统基于 Spring Boot 框架构建,当前已升级至 Spring Boot 4.1.0 版本,框架成熟稳定,自动配置能力大幅简化项目搭建与运维流程,减少冗余配置开发。系统遵循分层架构设计,解耦视图、业务逻辑与数据访问三层,有效解决传统建站系统架构臃肿、维护困难、响应缓慢等问题。整体系统兼容性强、运行稳定,支持容器、Jar 包、面板等多种部署形式,综合使用性价比突出。
3.2后端技术栈
开发语言:Java,依托完整 Java 生态实现后端开发
核心框架:Spring Boot 4.1.0,负责项目启动、自动配置与依赖管理
构建工具:Gradle,统一管理项目依赖、编译、打包与版本迭代
数据持久化:JPA,实现实体类与数据库表映射,简化数据操作
Web 服务:RESTful API,支持标准 HTTP、GET/POST 请求,接口规范化设计
数据库:MySQL,存储用户、文章、附件、评论等全量业务数据
部署架构:支持 Jar 包直接运行、Tomcat 部署、Docker 容器化部署
代码规范:集成 Spotless 统一代码格式化,保障代码风格一致
3.3前端技术栈
基础框架:Vue3 + Vite,轻量化高性能前端架构,提升页面加载与构建速度
UI 组件:Element Plus,企业级 UI 组件库,搭建简洁易用的后台管理界面
构建工具:Vite-Plus,优化前端打包、编译与开发体验
模板引擎:Freemarker,用于站点主题页面渲染
交互能力:Markdown 编辑器、文件上传、主题预览、插件配置、评论交互
3.4开发及生产环境
系统环境:Linux(生产首选)、Windows(本地测试)
运行环境:JDK 17 及以上版本
版本管理:Git,私有仓库 + 社区开源仓库协同管理
构建工具:Gradle 9.5.0,统一项目构建流程
监控运维:日志采集、接口监控、异常日志解析
部署方式:Jar 包、Docker、Docker Compose、宝塔面板、1Panel 等多方案支持
3.5数据库
系统围绕建站业务设计多类核心数据表,各表通过关联字段形成完整数据模型,核心数据表如下:
users(用户表):存储管理员、普通用户账号、密码、邮箱、权限、状态等信息
posts(文章表):存储博客 / 资讯文章标题、内容、分类、标签、发布时间等
attachments(附件表):记录图片、视频、文档等媒体文件路径、大小、格式、缩略图等信息
comments(评论表):存储用户评论内容、关联文章、评论人、回复关系等
themes(主题表):记录站点已安装主题、配置参数、启用状态
plugins(插件表):管理插件信息、启用状态、插件配置数据
menus(菜单表):后台菜单、站点导航菜单配置数据
settings(系统配置表):存储站点名称、LOGO、SEO、基础参数等全局配置
项目主要功能
4.1 管理员功能模块
管理员拥有系统最高权限,负责站点整体运维、内容审核、资源管理、权限配置,保障网站正常运行。
4.1.1 用户管理
支持查看全量用户列表,展示用户名、邮箱、注册时间、账号状态;可手动新增后台管理员账号,编辑用户基本信息、修改权限分组;支持启用 / 禁用账号,限制违规用户访问;提供关键词检索功能,快速筛选目标用户。
4.1.2 文章内容管理
系统核心功能,支持创建、编辑、发布、下架文章,内置 Markdown 编辑器并附带实时预览;可对文章进行分类、打标签、设置封面与摘要;支持批量操作文章,软删除废弃内容;同时管理文章草稿、定时发布、置顶等功能,满足多样化内容发布需求。
4.1.3 主题管理
作为系统特色功能,管理员可在线浏览、安装、切换站点主题,实时预览主题效果;支持自定义主题样式、配色、布局,手动上传本地主题包;管理已安装主题,卸载无用主题,一键恢复主题默认配置,实现网站风格快速切换。
4.1.4 插件管理
支持插件市场在线安装、更新、卸载插件,拓展网站功能(备份、搜索、表单、统计等);可启用 / 停用指定插件,配置插件参数;支持手动上传离线插件包,适配个性化功能拓展,丰富网站能力边界。
4.1.5 媒体资源管理
统一管理全站图片、视频、文档等附件资源,支持批量上传、预览、重命名、删除文件;自动记录文件大小、格式、上传时间,支持文件分类归档;配置文件存储路径、大小限制,保障媒体资源规范管理。
4.1.6 评论管理
查看全站用户评论列表,筛选待审核、已通过、违规评论;审核评论内容,删除违规、恶意评论,回复用户留言;支持关闭单篇文章评论功能,维护站点评论氛围。
4.1.7 系统配置
配置站点基础信息,包括网站名称、LOGO、简介、SEO 关键词、域名;设置后台登录安全策略、数据备份规则、邮件通知;管理导航菜单、友情链接、站点公告,完成全局参数自定义。
4.2 普通用户 / 访客功能模块
面向网站访问用户,提供内容浏览、互动交流、个人操作等基础能力,无后台管理权限。
4.2.1 内容浏览
用户可访问网站首页,按分类、标签检索文章,查看文章详情、配图与附件;支持文章分页浏览、关键词全站搜索,快速查找感兴趣内容;页面适配不同主题样式,浏览体验随主题切换。
4.2.2 评论互动
登录用户可在文章下方发表评论、回复他人评论;查看评论区全部互动内容,参与话题讨论;评论提交后需管理员审核,审核通过后方可公开展示。
4.2.3 个人中心
注册用户可进入个人中心,修改登录密码、头像、昵称、邮箱等个人资料;查看自身历史评论记录,管理个人动态;查看收藏的文章,便捷二次浏览。
4.3 通用功能模块
为全系统提供基础支撑,保障各业务模块稳定运行。
4.3.1 文件上传下载
全局通用文件接口,支撑头像、文章配图、附件、主题包、插件包等文件上传;后端统一校验文件格式、大小,存储至指定目录并返回访问地址;支持在线下载服务器存储的各类文件资源。
4.3.2 权限控制
采用基于角色的 RBAC 权限模型,区分超级管理员、普通管理员、访客等角色;不同角色分配差异化功能权限,通过拦截器校验访问权限,拦截越权请求,保障后台数据与功能安全。
4.3.3 日志与异常处理
系统自动记录操作日志、访问日志、错误日志,便于运维排查问题;全局统一异常捕获,前端友好展示异常提示,避免系统崩溃;支持日志导出,满足运维审计需求。
4.3.4 数据备份与恢复
内置数据备份功能,支持手动 / 自动备份全站数据库与资源文件;支持备份文件下载、历史备份管理,出现故障时可通过备份文件一键恢复数据,保障数据安全。
项目安装和部署
5.1 数据库初始化
登录 MySQL 数据库服务器,使用具备建库权限的账号执行 SQL 语句创建数据库:
sql
CREATE DATABASE IF NOT EXISTS halo_db
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
数据库创建完成后,系统首次启动会自动初始化数据表与基础数据,无需手动导入 SQL 脚本。
5.2 后端项目构建
项目使用 Gradle 进行依赖管理与构建,本地编译打包步骤:
进入项目根目录,执行 Gradle 命令下载依赖并编译项目:
bash
运行
# Linux/Mac 系统
./gradlew clean build
# Windows 系统
gradlew.bat clean build
构建完成后,在build/libs/目录下生成可运行 Jar 包。
5.3 前端项目构建
前端基于 Vite+Vue3 开发,独立构建步骤:
进入前端目录 ui/,执行命令安装依赖:
bash
运行
cd ui
npm install
执行打包命令,编译前端静态资源:
bash
运行
npm run build
编译完成的静态资源会自动整合至后端项目,无需单独部署。
5.4 应用启动与运行
方式一:Jar 包直接运行(通用推荐)
确保 JDK 17+、MySQL 服务正常运行,修改application.yml配置文件,填入数据库账号、密码、地址。
进入 Jar 包所在目录,执行启动命令:
bash
运行
java -jar halo.jar
启动成功后,默认端口为 8090(可在配置文件修改),访问地址:
前台站点:http://localhost:8090
后台管理:http://localhost:8090/console
首次登录使用系统默认账号密码,登录后建议立即修改密码提升安全性。
方式二:Docker 容器部署
项目根目录执行镜像构建命令:
bash
运行
docker build -t halo-system .
启动容器并挂载数据卷、映射端口:
bash
运行
docker run -d --name halo -p 8090:8090 halo-system
这个系统实际效果图片展示
这个源码适合的学习人群
该项目代码结构清晰、注释规范、无过度封装、轻量化易上手,极其适合四类人群学习:Java后端初学者、微信小程序开发学习者、计算机专业在校学生、个人开源项目爱好者。
这个项目源码获取方式
关注公众号,回复: 建站系统
夜雨聆风