WORMHOLE BLOG
响应式布局
pc布局 | mobile布局 |
---|---|
后台管理系统
dashboard
文章管理
个人中心
常规设置
项目介绍
本博客系统是在原来的SSM架构的博客系统项目基础上,用springboot
重写的,简化了很多繁琐的xml配置。项目同样
整合了许多常用的框架和中间件,例如Redis,Druid,Redis,Freemarker,Shiro等配置,此项目不管是作为当下互联网架构项目的脚手架,还是学习为目的,都是一个不错的选择。
功能
- 面板
- 访客记录折线图
- 访客记录清单
- 访客量统计
- 文章
- 文章管理
- 文章导出
- 文章更新
- 文章删除
- 显示/隐藏文章
- 文章编辑
- 文章管理
- 分类
- 分类管理
- 新建分类
- 更新分类
- 删除分类
- 分类管理
- 评论
- 评论管理
- 审核/撤销评论
- 删除评论
- 评论管理
- 用户
- 个人信息
- 更改邮箱
- 更改密码
- 用户管理
- 角色管理
- 权限管理
- 个人信息
- 媒体
- 图片管理
- 浏览图片
- 删除图片
- 更改URL
- 图片管理
- 系统
- 常规设置
- 更改网站头像
- 更改签名
- 更改title
- 更改content
- 更改keywords
- 更改底部版权
- 设置每页显示的文章数
- 菜单管理
- 新建菜单
- 删除菜单
- 更新菜单
- 数据备份
- 数据库周期性备份
- 导出数据库备份文件
- 常规设置
技术架构
- SpringBoot - SpringBoot
- 数据源 - Druid
- 持久化框架 - Mybatis
- 缓存 - Redis
- 认证授权安全框架 - Shiro
- 模板渲染引擎 - Freemarker
- 模块化前端框架 - Layui
- markdown编辑器 - editor.md
- 日志系统 - slf4j + logback
如何使用
- git clone项目
- 将
application.properties
中的spring.datasource.username
和spring.datasource.password
改为你的数据库账户和密码,mysql
和redis
都是按照默认的端口配置,如有需要也可更改配置文件,指定ip
和port
。 - 运行
mvn package
,将项目打包成war
包,然后将打包后war
包放到tomcat
的webapps
目录即可,无需手动建表,容器初始化时会自动建表。 - 注意用外置的
servlet
容器部署时,需要配置去除项目名访问,不然会报404
错误。 - 运行
startup.sh
启动tomcat
(如果是用内嵌servlet
容器,直接运行java -jar blog.war
即可)。 - 后台管理系统地址为
http://domain:port/admin
,初始用户名为[email protected]
,初始密码为19960821
。
环境搭建
Linux 环境部署
- 下载并解压 JDK 1.8
tar zxvf jdk-8u172-linux-x64.tar.gz
mv jdk1.8.0_172 /usr/local/jdk
- 下载并解压 Redis 4.0.9(或者直接通过软件源安装)
tar zxvf redis-4.0.9.tar.gz
mv redis-4.0.9 /usr/local/redis
- 下载并解压 Tomcat 9.0.8
tar zxvf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8 /usr/local/tomcat
- 安装
MySQL
或MariaDB
如果是
mariadb
需要将user
表中的plugin
字段值'unix_socket'改为'mysql_native_password',否则jdbc
连接会出错
Debian
系列Linux
参考以下过程
#apt-get update //获取最新软件包
#apt-get install mariadb mariadb-server //安装mariadb客户端和服务器
#service mysql start //启动服务
#mysql_security_installation //执行安全安装脚本
Redhat
系列Linux
参考以下过程
#yum update
#yum install mariadb mariadb-server
#systemctl start mariadb
#mysql_security_installation
- 设置环境变量(用vim打开/etc/profile这个文件,在后面添加以下内容)
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
export PATH=/usr/local/redis/bin:$PATH
- 启动
redis
和mysql
redis-server &
systemctl start mysql
-
将打包好的
war
包放入tomcat
的webapps
目录 -
启动
tomcat
startup.sh
Docker部署(推荐)
- 下载源码后在根目录下运行以下命令
mvn package
mvn dockerfile:build
-
不出意外本地已经成功生成docker镜像了,你可以push到你的docker仓库中,随时pull到任何一台docker容器中部署了
-
运行容器
tag
是当前版本号
docker run -d -p 80:80 stdutil/blog-springboot:tag
项目结构
java (源码根目录)
|----net.stackoverflow.blog
|----common/ (公共类)
|----config/ (项目配置目录,基于Java代码的配置)
|----dao/ (数据访问对象,一般存放mybatis的mapper接口或jpa的repository接口)
|----exception/ (异常类定义)
|----pojo/ (存放po,vo,dto等类,可进一步划分子包)
|----service/ (服务接口以及实现类)
|----shiro/ (shiro相关代码)
|----cache/ (shiro整合redis缓存相关代码)
|----filter/ (shiro自定义过滤器)
|----realm/ (shiro自定义realm)
|----task/ (后台任务)
|----util/ (工具类)
|----validator/ (校验工具)
|----web/ (web相关代码)
|----controller/ (业务层,提供restful接口)
|----interceptor/ (拦截器)
|----listener/ (监听器)
resources (资源文件夹)
|----mapper/ (存放mybatis的mapper.xml)
|----sql/ (存放sql脚本)
|----static/ (存放静态资源,css、js等)
|----templates/ (存放freemarker或thymeleaf模板)
|----application.properties (项目配置文件)
|----logback.xml (logback日志配置)