one-blog
OneBlog 一个简洁美观、功能强大并且自适应的Java博客。使用springboot开发,前端使用Bootstrap。支持移动端自适应,配有完备的前台和后台管理功能。
重要声明
看文档!看文档!看文档!,初次使用, 请先看文档!
- 本项目配有相关帮助文档 。文档中包括基本的项目说明、shiro标签使用、七牛云配置和一些常见的异常问题解决方案。使用时碰到问题请优先查阅【帮助文档】。因为现在好多朋友问的问题大部分都写在【帮助文档】中了,希望各位朋友能自己翻阅下相关资料,高效提问,避免重复问题!
- 提问题前请优先阅读【如何向开源社区提问题】&【提问的智慧】
- 提问题时请优先选择Gitee Issues(方便问题追踪和一对一解决),其次我的博客-留言板,再次QQ群(QQ群消息较多,提问请注意节奏、时机),最次加我QQ好友直接提问(不推荐)
- 本项目唯一官网:https://docs.zhyd.me
-
本项目开源地址:Gitee Github - 本项目修改记录,详情请移步这里
- 如果你想贡献代码,请先阅读这篇文章
功能简介
- Docker一键部署:支持 Docker 的方式一键启动服务
- 广告位管理:支持五种广告位:首页开屏广告、侧边栏顶部、侧边栏底部、文章详情底部、评论框顶部,站长可以随时随意更换自己的广告链接,赚外快不成问题!
- 多种编辑器:支持 wangEditor、Markdown 和 TinyMCE 等多种文章编辑器,可以自行选择
- 自动申请友情链接:在线申请友情链接,无需站长手动配置,只需申请方添加完站长的连接后自行申请即可
- 百度推送:支持百度推送功能,加速百度搜索引擎收录博文
- 评论系统:自研的评论系统,支持显示用户地址、浏览器和 os 信息,后台可审核评论、开启匿名评论、回复和邮件通知评论
- 权限管理:后台配备完善的 RBAC 权限管理,前台文章支持密码访问、登录访问等多种权限验证策略
- 完善的 SEO 方案:自带robots、sitemap 等 seo 模板,实现自动生成 robots 和 sitemap
- 实时通讯:管理员可向在线的用户实时发送消息
- 系统配置支持快速配置:可通过后台手动修改诸如域名信息、SEO 优化、赞赏码、七牛云以及更新维护通知等
- 多种文件存储:集成七牛云、阿里云OSS,实现文件云存储,同时支持本地文件存储
- 文章搬运工:集成blog-hunter 实现“文章搬运工”功能,支持一键同步imooc、csdn、iteye或者cnblogs上的文章,可抓取列表和单个文章
- 第三方授权登录:集成 JustAuthPlus(JAP) 实现第三方授权登录
- 自定义网站内容:管理员可自定义“关于本站”、“留言板”、“友情链接”、“免责声明”、“Footer”、“鼠标点击时的气泡文字”、“热门搜索的待选项”等内容
- 自定义页面:管理员可添加自定义的页面
- 流控:针对异常IP的连续大量访问,系统会自动封禁该IP。
模块划分
模块 | 释义 | 备注 |
---|---|---|
blog-core | 核心业务类模块,提供基本的数据操作、工具处理等 | 该模块只是作为核心依赖包存在 |
blog-codegen | 代码生成器 | |
blog-admin | 后台管理模块 | 该模块作为单独项目打包部署 |
blog-web | 前台模块 | 该模块作为单独项目打包部署 |
blog-file | 文件存储功能模块 | 支持local、七牛云和阿里云OSS |
技术栈
- docker
- docker-compose
- Springboot 2.3.5.RELEASE
- Apache Shiro 1.7.1
- Logback
- Redis
- Lombok
- Websocket
- MySQL、Mybatis、Mapper、Pagehelper
- Freemarker
- Bootstrap 3.3.0
- wangEditor
- Markdown
- jQuery 1.11.1、jQuery Lazyload 1.9.7、fancybox、iCheck
- 阿里云OSS
- 七牛云
- Nginx
- kaptcha
- webMagic
- …
快速开始
Docker Compose(推荐)
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 使用之前需要先安装docker环境,建议版本为17.06.0-ce以上版本
- 下载源码,安装maven环境,
打包项目
mvn clean package -Dmaven.test.skip=true -Pdev
,放到服务器 - 进入
docs/docker
目录 - 按照注释修改
.env
文件 - 执行
docker-compose -p oneblog up -d
源码方式
blog-web
和blog-admin
的运行方式一样
- 使用IDE导入本项目
- 新建数据库
CREATE DATABASE dblog;
- 导入数据库
docs/docker/mysql/dblog.sql
- 初始化数据库
docs/docker/mysql/init_data.sql
- 修改配置文件,mysql、redis、mail配置在
[blog-core]/resources/config/application-center.yml
配置文件中 - 运行项目:直接运行
blog-web/src/main/java/com/zyd/blog/BlogWebApplication.java
或者blog-admin/src/main/java/com/zyd/blog/BlogAdminApplication.java
- 浏览器访问
http://127.0.0.1:{port}
后台默认账号密码:root/123456
Who is using?
烦请各位使用 OneBlog 的朋友,能留下你的网址 - 点这儿
预览
生命不息,折腾不止! 更多信息,请关注:
特别感谢
- 广大的开源爱好者
- 无私的网友
- gentelella: 一款开源的Bootstrap3后台管理模板
- 七牛云: 强大的对象存储、CDN等服务提供商
- emoji表情列表: emoji表情列表
- blog-hunter: 博客猎手,基于webMagic的博客爬取工具,支持慕课、csdn、iteye、cnblogs、掘金和V2EX等各大主流博客平台。
- JustAuth: 史上最全的整合第三方登录的工具,目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软和今日头条等第三方平台的授权登录。 Login, so easy!
- JAP: 一款开源的登录认证中间件,基于模块化设计,并且与业务高度解耦,使用起来非常灵活,开发者可以毫不费力地将 JAP 集成到任何 web 应用程序中,就像集成 JustAuth 一样,简单方便。
- 待续…
开源协议
开源地址
https://github.com/zhangyd-c/OneBlog
参考资料
https://github.com/saysky/ForestBlog/blob/master/README.md