Bolo-Solo开源博客系统零基础部署教程:从环境搭建到个性化配置
2026-04-24 10:10:39作者:齐添朝
Bolo-Solo是一款专为程序员设计的Java博客系统,基于Solo深度定制,提供免登录评论、邮件提醒、自定义图床等实用功能。本文将带你从零开始搭建个人博客,无需复杂技术背景,通过简单几步即可拥有属于自己的专业技术博客。
1.核心价值:为什么选择Bolo-Solo
Bolo-Solo作为一款成熟的Java博客系统,具有以下核心优势:
- 轻量高效:基于Java开发,运行稳定,资源占用低
- 主题丰富:内置15+精美主题,支持个性化定制
- 功能全面:包含文章管理、评论系统、数据统计等完整功能
- 部署灵活:支持Tomcat、Docker、宝塔面板等多种部署方式
- 易于扩展:插件化架构,支持功能扩展和二次开发
Bolo-Solo博客系统首页展示,支持多栏布局和个性化主题
2.环境准备:3步完成部署前准备
2.1 安装必要依赖
📌 步骤1:安装Java开发环境
- 确保JDK 8或更高版本已安装
- 验证安装:
java -version
💡 提示:推荐使用JDK 8,兼容性最佳
📌 步骤2:安装Maven构建工具
- 下载并配置Maven环境
- 验证安装:
mvn -version
📌 步骤3:安装Git版本控制
- 用于获取项目源代码
- 验证安装:
git --version
2.2 获取项目源码
git clone https://gitcode.com/gh_mirrors/bo/bolo-solo
cd bolo-solo
2.3 项目核心模块速览
src/main/java/org/b3log/solo/ → 核心业务逻辑
- processor/:请求处理模块,负责接收和响应HTTP请求
- service/:业务服务模块,实现核心功能
- util/:工具类模块,提供通用功能支持
- model/:数据模型模块,定义数据结构
src/main/webapp/ → Web应用资源
- skins/:主题皮肤目录,包含15+种博客主题
- js/:JavaScript脚本文件
- css/:样式表文件
- images/:图片资源
3.快速上手:5分钟启动博客系统
3.1 构建项目
📌 步骤1:使用Maven构建项目
mvn clean package -Dmaven.test.skip=true
3.2 初始化数据库
📌 步骤2:执行数据库脚本
# 脚本位于项目根目录下的scripts文件夹
cat scripts/1-create-database.sql | mysql -u root -p
3.3 启动应用
📌 步骤3:启动博客系统
# 使用内置Tomcat启动
mvn tomcat7:run
📌 步骤4:访问博客系统
- 打开浏览器访问:
http://localhost:8080 - 管理后台:
http://localhost:8080/admin
📌 步骤5:初始配置
- 登录管理后台(默认用户名/密码:admin/123456)
- 修改管理员密码
- 配置博客基本信息
4.深度解析:核心配置与个性化
4.1 启动流程全解析
Bolo-Solo的启动入口是src/main/webapp/WEB-INF/web.xml文件,这是Java Web应用的部署描述符(Web应用的配置清单)。
关键配置解析:
<!-- 日志配置 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<!-- Spring上下文监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Spring MVC前端控制器 -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
常见问题:
- Q: 启动失败,提示端口被占用?
- A: 修改
pom.xml中的Tomcat端口配置:<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>8081</port> <!-- 修改为未占用端口 --> </configuration> </plugin>
4.2 5个必知配置项
-
博客基本信息配置
- 文件路径:
src/main/resources/latke.properties - 关键配置:
server.servlet.context-path=/ blog.title=我的技术博客 blog.subtitle=分享技术,记录生活
- 文件路径:
-
数据库配置
- 文件路径:
src/main/resources/jdbc.properties - 配置示例:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/bolo?useSSL=false jdbc.username=root jdbc.password=password
- 文件路径:
-
邮件服务配置
- 文件路径:
src/main/resources/mail.properties - 用于评论通知、邮件订阅等功能
- 文件路径:
-
主题配置
- 文件路径:
src/main/resources/skins.properties - 切换主题:
skinDirName=bolo-butterfly
- 文件路径:
-
安全配置
- 文件路径:
src/main/resources/security.properties - 配置评论过滤、防SQL注入等安全策略
- 文件路径:
4.3 主题切换与定制
Bolo-Solo提供多种主题,位于src/main/webapp/skins/目录下,如:
bolo-butterfly/:现代化卡片式布局bolo-nijigen/:二次元风格主题bolo-casper/:简洁杂志风主题
切换主题步骤:
- 登录管理后台
- 进入"皮肤管理"
- 选择喜欢的主题并应用
自定义主题:
src/main/webapp/skins/[主题名称]/
├── css/ # 样式文件
├── js/ # 脚本文件
├── images/ # 图片资源
└── *.ftl # 页面模板
5.新手误区提示
-
数据库连接失败
- 常见原因:数据库未创建或用户名密码错误
- 解决:先执行
1-create-database.sql脚本创建数据库
-
忘记管理员密码
- 解决:通过数据库修改:
密码将重置为UPDATE b3_solo_user SET userPassword='81dc9bdb52d04dc20036dbd8313ed055' WHERE userId='admin';123456
- 解决:通过数据库修改:
-
主题修改不生效
- 原因:缓存未清除
- 解决:管理后台 -> 工具 -> 清除缓存
-
部署到外部Tomcat
- 误区:直接使用Maven打包的war包
- 正确:使用
mvn package -P prod命令构建生产环境包
-
数据备份
- 重要:定期备份数据库和
src/main/webapp/WEB-INF/data/目录
- 重要:定期备份数据库和
6.进阶学习路径
6.1 核心模块源码学习
- 文章管理:
src/main/java/org/b3log/solo/processor/ArticleProcessor.java - 评论系统:
src/main/java/org/b3log/solo/processor/CommentProcessor.java - 主题引擎:
src/main/java/org/b3log/solo/processor/SkinRenderer.java - 数据统计:
src/main/java/org/b3log/solo/service/StatisticMgmtService.java
6.2 功能扩展
- 开发插件:参考
src/main/java/org/b3log/solo/plugin/目录下的示例 - 自定义主题:基于现有主题修改,或创建新主题
- 集成第三方服务:通过API集成评论系统、阅读量统计等
6.3 性能优化
- 开启缓存:
src/main/resources/cache.properties - 图片优化:使用图床服务或CDN
- 数据库优化:添加索引,优化查询
通过本教程,你已经掌握了Bolo-Solo博客系统的部署和基本配置。这款开源博客系统不仅适合个人技术博客搭建,也可作为学习Java Web开发的实践项目。开始你的博客之旅吧!
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
热门内容推荐
最新内容推荐
跨系统应用融合:APK Installer实现Windows环境下安卓应用运行的技术路径探索如何用OpCore Simplify构建稳定黑苹果系统?掌握这3大核心策略ComfyUI-LTXVideo实战攻略:3大核心场景的视频生成解决方案告别3小时抠像噩梦:AI如何让人人都能制作电影级视频Anki Connect:知识管理与学习自动化的API集成方案Laigter法线贴图生成工具零基础实战指南:提升2D游戏视觉效率全攻略如何用智能助手实现高效微信自动回复?全方位指南3步打造高效游戏自动化工具:从入门到精通的智能辅助方案掌握语音分割:从入门到实战的完整路径开源翻译平台完全指南:从搭建到精通自托管翻译服务
项目优选
收起
deepin linux kernel
C
28
16
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
570
99
暂无描述
Dockerfile
709
4.51 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
958
955
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.61 K
942
Ascend Extension for PyTorch
Python
572
694
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
413
339
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
1.42 K
116
暂无简介
Dart
952
235
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
2



