Thanks to visit codestin.com
Credit goes to github.com

Skip to content

wormhole/blog-ssm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

540 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WORMHOLE BLOG

downloads forks stars repo size release license

响应式布局

pc布局 mobile布局
PC布局 mobile布局

项目介绍

这是一个基于互联网架构的一个博客系统,采用SSM框架,Shiro认证授权框架,整合Redis等缓存中间件,Freemarker模板引擎完成的。响应式布局完美适配 PC,平板和手机布局。此项目已用springboot重写,请移步这里

技术架构

如何使用

  1. git clone项目
  2. db.properties中的jdbc.usernamejdbc.password改为你的数据库账户和密码,mysqlredis都是按照默认的端口配置,如有需要也可更改配置文件,指定ipport
  3. 运行mvn package,将项目打包成war包,然后将打包后war包放到tomcatwebapps目录即可,无需手动建表,容器初始化时会自动建表。
  4. 注意用外置的servlet容器部署时,需要配置去除项目名访问,不然会报404错误。
  5. 运行startup.sh启动tomcat
  6. 后台管理系统地址为http://domain:port/admin,初始用户名为[email protected],初始密码为19960821

环境搭建

Linux 环境部署

  1. 下载并解压 JDK 1.8
tar zxvf jdk-8u172-linux-x64.tar.gz
mv jdk1.8.0_172 /usr/local/jdk
  1. 下载并解压 Redis 4.0.9
tar zxvf redis-4.0.9.tar.gz
mv redis-4.0.9 /usr/local/redis
  1. 下载并解压 Tomcat 9.0.8
tar zxvf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8 /usr/local/tomcat
  1. 安装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
  1. 设置环境变量(用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
  1. 启动redis和tomcat
redis-server &
startup.sh
  1. 将打包好的war包放入tomcat的app目录

  2. 启动容器

startup.sh

Docker部署(推荐)

  1. 下载源码后在根目录下运行以下命令
mvn package
mvn dockerfile:build
  1. 不出意外本地已经成功生成docker镜像了,你可以push到你的docker仓库中,随时pull到任何一台docker容器中部署了

  2. 运行容器

tag为当前版本号

docker run -d -p 80:80 stdutil/blog-ssm:tag

项目结构

java (源码根目录)
  |----net.stackoverflow.blog
    |----common/ (公共类)
    |----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接口)
      |----freemarker/ (freemarker整合shiro注解配置类)
      |----interceptor/ (拦截器)
      |----listener/ (监听器)

resources (资源文件夹)
  |----mapper/ (存放mybatis的mapper.xml)
  |----sql/ (存放sql脚本)
  |----application.properties (项目配置文件)
  |----logback.xml (logback日志配置)
  |----mybatis-config.xml (mybatis配置文件)
  |----redis.properties (redis配置文件)
  |----spring-context.xml (spring配置文件)
  |----spring-mvc.xml (springmvc配置文件)
  |----spring-mybatis.xml (spring整合mybatis配置文件)
  |----spring-redis.xml (spring整合redis配置文件)
  |----spring-shiro.xml (spring整合shiro配置文件)

webapp (web目录)
  |----static/ (静态文件,包括js,css,图片,以及第三方前端库)
  |----WEB-INF/
    |----view/ (freemarker模板文件)
    |----web.xml (web配置文件)
  |----favicon.icon (浏览器title处图片)
  |----robots.txt (搜索引擎爬取规则)

输出目录结构

/data 输出根目录
  |----upload/ (文件上传目录)
  |----backup/ (数据库周期性备份目录)
  |----log/ (日志输出目录)