基于 Spring Boot + React 的现代化个人博客系统
官方qq群 :577040366
次元栈 基于SpringBoot4的全新博客系统
平台核心功能:
- 📝 文章内容管理(CMS)
- 💬 用户互动:评论、点赞
- 🔖 标签分类:支持跨圈层内容组织
- 👥 用户系统:个人主页、文章发布管理系统、完整RBAC权限系统......
- 📱 响应式前端,支持移动端浏览
- 📦 支持首页、文章页服务端渲染
- ......
| 层级 | 技术选型 |
|---|---|
| 后端 | Java 17+,Spring Boot 4,MySQL5.7+,Redis |
| 前端 | React 19,Vite,Tailwind CSS v4 |
| 构建 | Maven (后端),npm(前端) |
| 部署 | Docker,Linux,Windows |
请移步b站查看部署视频
https://www.bilibili.com/video/BV1qncgzkEHk/
环境要求(给出版本为可用版本,其他版本请自行测试)
OpenJDK版本:17+
Redis版本:5+(可选)
mysql版本:5.7+
解压下载的压缩包
然后进入到目录下执行命令:
注:"--server.port=2223"选项为可选(用于强制指定服务运行端口)
java -jar dimstack-1.0-SNAPSHOT.jar --server.port=2223运行后找到终端输出的地址(如不指定--server.port=2223端口号是随机的)在浏览器打开
进入站点初始化界面,格式如下(域名端口改为自己的,在终端或日志中查看)
http://localhost:2223/init/setup按照初始化向导的提示填写:管理员用户名、密码、站点运行端口、日志级别、mysql信息以及redis信息等(默认信息不懂的话不要动)
填写完后点击确认(系统会自动按照填写的信息完成初始化,导入sql、配置文件生成等),出现下面界面即为成功,重启即可
再次运行系统
java -jar dimstack-1.0-SNAPSHOT.jar运行后能看到主页正常加载即为成功
sudo vim /etc/systemd/system/dimstack.service[Unit]
Description=Dim Stack Forum Backend Service
After=network.target mysql.service redis.service
Wants=mysql.service redis.service
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root/dimstack
Environment="JAVA_OPTS=-server -Xms512m -Xmx1g -XX:+UseG1GC -XX:+UseStringDeduplication -Dfile.encoding=UTF-8"
ExecStart=/bin/sh -c 'exec java $JAVA_OPTS -jar dimstack-1.0-SNAPSHOT.jar'
SuccessExitStatus=143
Restart=always
RestartSec=15
StartLimitInterval=600s
StartLimitBurst=5
ProtectSystem=full
# 如果需要访问用户目录下的文件,请改为"ProtectHome=false"
ProtectHome=true
PrivateTmp=true
PrivateDevices=true
NoNewPrivileges=true
RestrictSUIDSGID=true
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
OOMPolicy=continue
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
SyslogIdentifier=dim_stack
[Install]
WantedBy=multi-user.targetsystemctl daemon-reload sudo systemctl start dimstacksudo systemctl status dimstack注:v84以下的版本没有一键更新系统,所以需要手动完整数据库更新
注:如果是如下版本的升级需要手动执行数据库升级脚本(如果数据库不是默认名请将USE dim_stack;修改为对应的数据库名)
v54->v55+
v64->v65+
v77->v84+
上述版本请到数据库更新脚本目录中下载对应的升级脚本
注:mysql5的兼容更新脚本只支持到5.7,其他版本请自行处理(建议数据库尽快升级至mysql8+)(v82+版本已逐步放弃mysql5.x支持,所以mysql5版本的系统请不要升级)
次元栈目前已支持大模型文章内容审核以及文章内容生成
大模型审核开启后,所有新发布的文章都会优先进行大模型分析,如果审核通过将直接发布,审核违规将直接违规不会通知管理员审核(如果文章作者认为模型判断有误可以自行联系管理员),如果是系统调用出现问题会自动降级到通知有审核权限人员对文章进行审核
文章生成模块开启后用户可以在文章编辑器快捷调用大模型生成文章
文章内容页已支持SSR并且适配主流搜索引擎,使用动态生成的 robots.txt 以及 sitemap.xml
- 针对搜索引擎 User-Agent 自动返回服务器渲染的 HTML。
- SSR 页面包含:
<title>:文章标题<meta name="description">:文章摘要<meta name="keywords">:文章标签- 文章内容和发布时间
- ......
- 普通用户访问则返回 SPA 首页,保持 React 的交互体验。
- 支持主流搜索引擎爬虫:
- Googlebot、Bingbot、Baiduspider、DuckDuckBot、Sogou、360Spider 等
支持动态生成 Sitemap 和 Robots.txt,智能处理反向代理头
针对Google、Bing等主流搜索引擎的爬虫进行了独立优化(未覆盖百度,百度爬虫仅能获取基础信息)
文章内容可以被大部分网页AI直接读取(密码文章无法读取)
感谢所有参与本项目的贡献者(按字母顺序排列):
- @bytegeek - 渗透测试
- @dear-sk - 系统测试
- @Denghls - 需求分析
- @hanbingniao - 系统测试
- @kongcangyimama - 主题设计
- @lingview - 系统开发
- @q1uf3ng - 渗透测试
- @YeFeng0712 - 需求分析
- @yukifia - 需求分析
- 感谢所有为本项目贡献代码、提出问题和提供反馈的开发者。
- 感谢开源社区持续的支持与贡献。
如果你在本项目中做出了贡献,请提交 PR 将你的名字加入到致谢名单中!
















