乐于分享
好东西不私藏

【程序源代码】开源建站系统(含源码)

【程序源代码】开源建站系统(含源码)

关键字:建站系统,博客,内容管理,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后端初学者、微信小程序开发学习者、计算机专业在校学生、个人开源项目爱好者。

      这个项目源码获取方式

      关注公众号,回复:  建站系统