SpringBoot Admin在线文档

基本介绍

  1. 项目介绍

    在线预览

    测试用户名:admin

    测试密码:123456

    Spring Boot Project Init是一个基于Spring Boot开发的后台管理系统,集成了系统管理,动态菜单,用户权限管理,日志管理,代码生成器等功能,让您把更多时间专注在业务开发上。

    代码生成器

    角色管理

  2. 贡献指南

    首先感谢你使用 Spring Boot Project Init。Spring Boot Project Init 是一套为后台管理平台准备的一整套前后端分离架构式的开源框架,旨在快速搭建后台管理系统。Spring Boot Project Init 的成长离不开大家的支持,如果你愿意为 Spring Boot Project Init 贡献代码或提供建议,请阅读以下内容。

    • issue 仅用于提交 Bug 或 Feature 以及设计相关的内容,其它内容可能会被直接关闭。

    • 在提交 issue 之前,请搜索相关内容是否已被提出。

  3. Pull Request 规范

    • 请先 fork 一份到自己的项目下,不要直接在仓库下建分支。
    • commit 信息要以[文件名]: 描述信息 的形式填写,例如 README.md: fix xxx bug
    • 确保 PR 是提交到 develop 分支,而不是 master 分支。
    • 如果是修复 bug,请在 PR 中给出描述信息。
    • 合并代码需要两名维护人员参与:一人进行 review 后 approve,另一人再次 review,通过后即可合并。

使用说明

  1. jar包部署(推荐方式)

    • 修改utils.js中的服务器地址__SERVER_IP,修改application-docker.yml中的sys.sso.urlsys.server.url

    • 命令行进入项目根目录

    • 执行打包命令:mvn clean package,jar包会自动生成存储在根目录的target目录下

    • 执行启动命令:java -jar demo-0.0.1.jar

    • 浏览器输入:http://localhost:9091,即可访问

      登录界面

    注意:mysql的用户名和密码,需要与docker-compose.yml中的mysql配置的相同

  2. docker部署步骤

    • 修改utils.js中的服务器地址__SERVER_IP,修改application-docker.yml中的sys.sso.urlsys.server.url

    • 命令行进入项目根目录,使用mvn package打包项目

    • 将打包后的jar包上传至linux服务器的/usr/local/docker/all目录中

    • docker-compose.yml上传到/usr/local/docker/all

      配置文件中已经包含了mysqlnginxredis的配置信息,执行启动命令后会分别启动mysql、nginx、redis的容器

      mysql

      mysql:
       container_name: demo_mysql
       image: mysql:5.7
       command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
       restart: always
       environment:
         MYSQL_ROOT_PASSWORD: 123456
         MYSQL_DATABASE: boot2demo_db
         MYSQL_USER: 你的用户名
         MYSQL_PASSWORD: 你的密码
       ports:
           - '3307:3306'
       volumes:
           - config:/etc/mysql
           - logs:/var/log/mysql
           - data:/var/lib/mysql
       networks:
           myNetwork:
               aliases:
                   - backend-mysql

      nginx

      nginx:
       container_name: demo-nginx
       image: hub.c.163.com/library/nginx:latest
       ports:
           - '80:80'
       depends_on:
           - demo
      #        - demo2
       volumes:
           - nginxlog:/var/log/nginx
           - nginxetc:/etc/nginx
           - nginxhtml:/usr/share/nginx/html
       networks:
           myNetwork:
               aliases:
                   - backend-nginx

      redis

      redis:
       container_name: demo-redis
       image: hub.c.163.com/library/redis #用其他镜像会连接不上
       command: --appendonly yes
       ports:
           - '6378:6379'
       volumes:
           - rdata:/data
           - rconf:/etc/redis
       networks:
           myNetwork:
               aliases:
                   - backend-redis
    • /usr/local/docker/all目录下执行命令:

      docker build -t demo:0.0.1 . -f Dockerfile-jar

    • 启动容器:

      docker-compose up -d

    • 导入sql文件:boot2demo.sql

      注意:mysql容器映射到宿主机的端口为3307

    • 上传nginx配置文件nginx.conf至nginx容器映射目录/var/lib/docker/volumes/all_nginxetc/_data

      #user  nobody;
      worker_processes  1;
      
      #error_log  logs/error.log;
      #error_log  logs/error.log  notice;
      #error_log  logs/error.log  info;
      
      #pid        logs/nginx.pid;
      
      events {
       worker_connections  1024;
      }
      
      http {
       include       mime.types;
       default_type  application/octet-stream;
      
       #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
       #                  '$status $body_bytes_sent "$http_referer" '
       #                  '"$http_user_agent" "$http_x_forwarded_for"';
      
       #access_log  logs/access.log  main;
       sendfile        on;
       #tcp_nopush     on;
       #keepalive_timeout  0;
       keepalive_timeout  65;
       #gzip  on;
      
      upstream servers.mydomain.com{ 
          #注意,此处是使用镜像别名或网络别名作为主机访问,端口是镜像内的端口,而不是demo工程暴露出来的端口
         server  backend-demo:9090; 
        #websocket通讯目前暂时无法支持分布式,所以只启动一个实例,后续改进   
         #server  backend-demo2:9090; 
      } 
       server {
           listen       80;
          #42.157.129.6是配置在host文件中的域名,实际生产则使用正常域名
           server_name  42.157.129.6;
      
           #charset koi8-r;
      
           #access_log  logs/host.access.log  main;
      
           location / {
               proxy_pass http://servers.mydomain.com; 
              proxy_set_header Host $host; 
              proxy_set_header X-Real-IP $remote_addr; 
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
           }
      
           #error_page  404              /404.html;
      
           # redirect server error pages to the static page /50x.html
           #
           error_page   500 502 503 504  /50x.html;
           location = /50x.html {
               root   html;
           }
       }
      }
    • 重启服务

      docker-compose restart -d

    • 访问站点:

      浏览器输入:http://ip地址,即可访问站点

    • 注意事项:

      防火墙打开809091站点对应的外网端口、3307mysql容器映射端口

交流群

交流QQ群:709845440 密码:springboot2demo,欢迎大家加入进来一起讨论

关注我们