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 StartedRust0215
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
暂无描述
Dockerfile
780
5.08 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
878
2.03 K
Ascend Extension for PyTorch
Python
758
968
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
698
1.4 K
昇腾LLM分布式训练框架
Python
185
231
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.25 K
677



