Giter VIP home page Giter VIP logo

gelingeducation's Introduction

视频管理后台

前言

gelingeducation是一个在学习过程中诞生的项目,采用spring+hibernate+jpa+shiro+jwt构建,包含了后台代码和前台的vue代码,采用了前后端分离的方式构建了这一个项目,目的是整合阶段所学的知识和构建一个以后转型后端,找java工作的项目。

展示地址(更新不会有项目这么频繁,不能保证和代码是同一个版本)

GLVideoManager 账号:123456 密码:123456

组织结构

gelingeducation
├── common -- 工具类,通用代码,过滤器,身份认证
         ├──── authentication 权限管理的类,包含jwt
         ├──── dto 对外的数据bean
         ├──── exception 全局exception处理
         ├──── filter 过滤器
         ├──── function function接口
         ├──── redis redis的类
         ├──── utils 工具类
├── controller -- 后台管理系统的接口
├── dao -- hibernate操作数据库的dao层
├── domain -- 存放数据映射的bean
└── service -- 后台管理系统的service层

后端技术

技术 版本
spring 5.2.4
hibernate 5.4.12
redis.clients 3.1.0
shiro 1.4.2
mysql 8.0.13/5.7.5
docker 1.13.1
openjdk 1.8.0_242
nginx 1.17.6
tomcat 9.0.34

前端项目地址

部署

  1. 先用idea 改web.xml下的多环境配置 标题栏build -> build artifacts -> 项目名:war ->build

  2. docker安装mysql并创建education数据库
    
     

    1. 拉取镜像

    docker pull mysql

    2. 把容器的3306端口映射到主机上

    docker run -p 3306:3306 --name ed_mysql mysql

    3. 进入容器

    docker exec -it 8e08b2d49b85 /bin/bash

    4. 进入mysql

    mysql -uroot -p

    5. 创建education数据库

    CREATE DATABASE education;

  3. docker安装tomcat
    
    

    1. docker pull tomcat

    拉取tomcat镜像

    2.docker run -it -d -p 6789:8080 tomcat

    把容器的8080映射到服务器的6789端口

    或者docker run -it -d -p 8889:8080 -v /usr/local/software/gelingeducation:/usr/local/tomcat/webapps/ --privileged=true tomcat

    顺便把文件也映射了,这样就可以通过idea直接更新项目,节省上传的步骤

    3. docker exec -it 8e08b2d49b85 /bin/bash

    进入容器,8e08b2d49b85 为容器的id

    4.cd /usr/local/tomcat/conf

    进入目录

    vim /conf/server.xml

    打开server.xml文件

    5.在server.xml 的 Host节点下新增Context 节点配置 保存并退出

    path:指定访问该Web应用的URL入口。 docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根 目录,如果Web应用是个war文件,则指定war文件的路径。 reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文 件被更新的,服务器会自动重新加载Web应用。

    6.把打包出来的war文件上传到服务器,再通过

    docker cp /opt/gelingeducation 8e08b2d49b85 :/usr/local/tomcat/webapps/

    复制到容器

    7.docker restart 8e08b2d49b85

    重新启动tomcat

  4. docker安装nginx部署web前端
    
    

    1.docker pull nginx

    拉取nginx镜像

    2.docker run -d --name gelingeducationnginx -p 7789:80 nginx

    运行run镜像,并把80端口映射到服务器的7789端口

    在浏览器输入ip:7789查看nginx服务器是否运行成功

    3.把打包好的vue前端代码(具体打包流程看前端github的remark)复制到容器的/usr/share/nginx/html下,注意是把打包出来的dist下所有文件复制到html下,(如果是映射路径的,记得去把容器里的html下文件删除掉,不然好像不会替换)

    4.docker restart 容器id

    重启容器

    5.重新在浏览器输入ip:7789查看是否部署成功

    6. 如果发现前端所有的请求都是403

    编辑容器的/etc/nginx/nginx.conf,把里面的user nginx;改成user root;

待办
    1. swagger的接入

gelingeducation's People

Contributors

987625922 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.