From e01e64881b32c5cc2a27a126f933e2ed5cb3eb89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Wed, 16 Feb 2022 16:26:24 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=8B=AC=E7=AB=8B=20bom=20=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E7=AE=A1=E7=90=86=20alibaba=20=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- docker/copy.sh | 41 -- docker/deploy.sh | 131 ++++-- docker/docker-compose.yml | 410 ++++++++++++------ docker/mysql/db/readme.txt | 1 - docker/mysql/dockerfile | 7 - docker/nacos/conf/application.properties | 32 -- docker/nacos/custom.properties | 19 + docker/nacos/dockerfile | 7 - docker/nginx/conf/nginx.conf | 36 -- docker/nginx/dockerfile | 15 - docker/nginx/html/dist/readme.txt | 1 - docker/nginx/nginx.conf | 106 +++++ docker/redis/conf/redis.conf | 1 - docker/redis/dockerfile | 13 - docker/redis/redis.conf | 28 ++ docker/ruoyi/auth/dockerfile | 15 - docker/ruoyi/auth/jar/readme.txt | 1 - docker/ruoyi/gateway/dockerfile | 15 - docker/ruoyi/gateway/jar/readme.txt | 1 - docker/ruoyi/modules/file/dockerfile | 15 - docker/ruoyi/modules/file/jar/readme.txt | 1 - docker/ruoyi/modules/gen/dockerfile | 15 - docker/ruoyi/modules/gen/jar/readme.txt | 1 - docker/ruoyi/modules/job/dockerfile | 15 - docker/ruoyi/modules/job/jar/readme.txt | 1 - docker/ruoyi/modules/system/dockerfile | 15 - docker/ruoyi/modules/system/jar/readme.txt | 1 - docker/ruoyi/visual/monitor/dockerfile | 15 - docker/ruoyi/visual/monitor/jar/readme.txt | 1 - pom.xml | 67 ++- ruoyi-common/pom.xml | 1 + ruoyi-common/ruoyi-common-alibaba-bom/pom.xml | 180 ++++++++ ruoyi-common/ruoyi-common-dubbo/pom.xml | 1 - 34 files changed, 728 insertions(+), 485 deletions(-) delete mode 100644 docker/copy.sh delete mode 100644 docker/mysql/db/readme.txt delete mode 100644 docker/mysql/dockerfile delete mode 100644 docker/nacos/conf/application.properties create mode 100644 docker/nacos/custom.properties delete mode 100644 docker/nacos/dockerfile delete mode 100644 docker/nginx/conf/nginx.conf delete mode 100644 docker/nginx/dockerfile delete mode 100644 docker/nginx/html/dist/readme.txt create mode 100644 docker/nginx/nginx.conf delete mode 100644 docker/redis/conf/redis.conf delete mode 100644 docker/redis/dockerfile create mode 100644 docker/redis/redis.conf delete mode 100644 docker/ruoyi/auth/dockerfile delete mode 100644 docker/ruoyi/auth/jar/readme.txt delete mode 100644 docker/ruoyi/gateway/dockerfile delete mode 100644 docker/ruoyi/gateway/jar/readme.txt delete mode 100644 docker/ruoyi/modules/file/dockerfile delete mode 100644 docker/ruoyi/modules/file/jar/readme.txt delete mode 100644 docker/ruoyi/modules/gen/dockerfile delete mode 100644 docker/ruoyi/modules/gen/jar/readme.txt delete mode 100644 docker/ruoyi/modules/job/dockerfile delete mode 100644 docker/ruoyi/modules/job/jar/readme.txt delete mode 100644 docker/ruoyi/modules/system/dockerfile delete mode 100644 docker/ruoyi/modules/system/jar/readme.txt delete mode 100644 docker/ruoyi/visual/monitor/dockerfile delete mode 100644 docker/ruoyi/visual/monitor/jar/readme.txt create mode 100644 ruoyi-common/ruoyi-common-alibaba-bom/pom.xml diff --git a/README.md b/README.md index d7560521..47921196 100644 --- a/README.md +++ b/README.md @@ -54,8 +54,8 @@ | Excel框架 | Alibaba EasyExcel | [EasyExcel文档](https://www.yuque.com/easyexcel/doc/easyexcel) | 性能优异 扩展性强 | | 文档框架 | Knife4j | [Knife4j文档](https://doc.xiaominfo.com/knife4j/documentation/) | 美化接口文档 | | 工具类框架 | Hutool、Lombok | [Hutool文档](https://www.hutool.cn/docs/) | 减少代码冗余 增加安全性 | -| 代码生成器(未完成) | 适配MP、Knife4j规范化代码 | [Hutool文档](https://www.hutool.cn/docs/) | 一键生成前后端代码 | -| 部署方式(未完成) | Docker | [Docker文档](https://docs.docker.com/) | 容器编排 一键部署业务集群 | +| 代码生成器 | 适配MP、Knife4j规范化代码 | [Hutool文档](https://www.hutool.cn/docs/) | 一键生成前后端代码 | +| 部署方式 | Docker | [Docker文档](https://docs.docker.com/) | 容器编排 一键部署业务集群 | | 国际化(未完成) | SpringMessage | [SpringMVC文档](https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc) | Spring标准国际化方案 | ## 软件架构图 diff --git a/docker/copy.sh b/docker/copy.sh deleted file mode 100644 index 4bb15410..00000000 --- a/docker/copy.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -# 复制项目的文件到对应docker路径,便于一键生成镜像。 -usage() { - echo "Usage: sh copy.sh" - exit 1 -} - - -# copy sql -echo "begin copy sql " -cp ../sql/ry_20210908.sql ./mysql/db -cp ../sql/ry_config_20211118.sql ./mysql/db - -# copy html -echo "begin copy html " -cp -r ../ruoyi-ui/dist/** ./nginx/html/dist - - -# copy jar -echo "begin copy ruoyi-gateway " -cp ../ruoyi-gateway/target/ruoyi-gateway.jar ./ruoyi/gateway/jar - -echo "begin copy ruoyi-auth " -cp ../ruoyi-auth/target/ruoyi-auth.jar ./ruoyi/auth/jar - -echo "begin copy ruoyi-visual " -cp ../ruoyi-visual/ruoyi-monitor/target/ruoyi-visual-monitor.jar ./ruoyi/visual/monitor/jar - -echo "begin copy ruoyi-modules-system " -cp ../ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ./ruoyi/modules/system/jar - -echo "begin copy ruoyi-modules-file " -cp ../ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar ./ruoyi/modules/file/jar - -echo "begin copy ruoyi-modules-job " -cp ../ruoyi-modules/ruoyi-job/target/ruoyi-modules-job.jar ./ruoyi/modules/job/jar - -echo "begin copy ruoyi-modules-gen " -cp ../ruoyi-modules/ruoyi-gen/target/ruoyi-modules-gen.jar ./ruoyi/modules/gen/jar - diff --git a/docker/deploy.sh b/docker/deploy.sh index 02489092..634d0493 100644 --- a/docker/deploy.sh +++ b/docker/deploy.sh @@ -1,67 +1,126 @@ -#!/bin/sh +#!/bin/bash -# 使用说明,用来提示输入参数 +#使用说明,用来提示输入参数 usage() { - echo "Usage: sh 执行脚本.sh [port|base|modules|stop|rm]" - exit 1 + echo "Usage: sh 执行脚本.sh [port|mount|monitor|base|start|stop|stopall|rm|rmiNoneTag]" + exit 1 } -# 开启所需端口 +#开启所需端口(生产环境不推荐开启) port(){ - firewall-cmd --add-port=80/tcp --permanent - firewall-cmd --add-port=8080/tcp --permanent - firewall-cmd --add-port=8848/tcp --permanent - firewall-cmd --add-port=9848/tcp --permanent - firewall-cmd --add-port=9849/tcp --permanent - firewall-cmd --add-port=6379/tcp --permanent - firewall-cmd --add-port=3306/tcp --permanent - firewall-cmd --add-port=9100/tcp --permanent - firewall-cmd --add-port=9200/tcp --permanent - firewall-cmd --add-port=9201/tcp --permanent - firewall-cmd --add-port=9202/tcp --permanent - firewall-cmd --add-port=9203/tcp --permanent - firewall-cmd --add-port=9300/tcp --permanent - service firewalld restart + # mysql 端口 + firewall-cmd --add-port=3306/tcp --permanent + # redis 端口 + firewall-cmd --add-port=6379/tcp --permanent + # minio api 端口 + firewall-cmd --add-port=9000/tcp --permanent + # minio 控制台端口 + firewall-cmd --add-port=9001/tcp --permanent + # 监控中心端口 + firewall-cmd --add-port=9100/tcp --permanent + # 任务调度中心端口 + firewall-cmd --add-port=9900/tcp --permanent + # nacos端口 + firewall-cmd --add-port=8848/tcp --permanent + firewall-cmd --add-port=9848/tcp --permanent + firewall-cmd --add-port=9849/tcp --permanent + # sentinel端口 + firewall-cmd --add-port=8718/tcp --permanent + # seata端口 + firewall-cmd --add-port=8091/tcp --permanent + # 重启防火墙 + service firewalld restart } -# 启动基础环境(必须) +##放置挂载文件 +mount(){ + #挂载 nginx 配置文件 + if test ! -f "/docker/nginx/conf/nginx.conf" ;then + mkdir -p /docker/nginx/conf + cp nginx/nginx.conf /docker/nginx/conf/nginx.conf + fi + #挂载 redis 配置文件 + if test ! -f "/docker/redis/conf/redis.conf" ;then + mkdir -p /docker/redis/conf + cp redis/redis.conf /docker/redis/conf/redis.conf + fi + #挂载 nacos 配置文件 + if test ! -f "/docker/nacos/conf/custom.properties" ;then + mkdir -p /docker/nacos/conf + cp seata/custom.properties /docker/nacos/conf/custom.properties + fi + #挂载 seata 配置文件 + if test ! -f "/docker/seata/conf/registry.conf" ;then + mkdir -p /docker/seata/conf + cp seata/registry.conf /docker/seata/conf/registry.conf + fi +} + +#启动基础模块 base(){ - docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos + docker-compose up -d mysql nacos sentinel seata nginx-web redis minio +} + +#启动监控模块 +monitor(){ + docker-compose up -d ruoyi-monitor } -# 启动程序模块(必须) -modules(){ - docker-compose up -d ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system +#启动程序模块 +start(){ + docker-compose up -d ruoyi-gateway ruoyi-auth ruoyi-xxl-job-admin ruoyi-system ruoyi-resource } -# 关闭所有环境/模块 +#停止程序模块 stop(){ - docker-compose stop + docker-compose stop ruoyi-gateway ruoyi-auth ruoyi-xxl-job-admin ruoyi-system ruoyi-resource +} + +#关闭所有模块 +stopall(){ + docker-compose stop } -# 删除所有环境/模块 +#删除所有模块 rm(){ - docker-compose rm + docker-compose rm } -# 根据输入参数,选择执行对应方法,不输入则执行使用说明 +#删除Tag为空的镜像 +rmiNoneTag(){ + docker images|grep none|awk '{print $3}'|xargs docker rmi -f +} + +#根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "port") - port + port +;; +"mount") + mount ;; "base") - base + base ;; -"modules") - modules +"monitor") + monitor +;; +"start") + start ;; "stop") - stop + stop +;; +"stopall") + stopall ;; "rm") - rm + rm +;; +"rmiNoneTag") + rmiNoneTag ;; *) - usage + usage ;; esac diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 5fb8da1c..f3e233bc 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,140 +1,270 @@ -version : '3.8' -services: - ruoyi-nacos: - container_name: ruoyi-nacos - image: nacos/nacos-server - build: - context: ./nacos - environment: - - MODE=standalone - volumes: - - ./nacos/logs/:/home/nacos/logs - - ./nacos/conf/application.properties:/home/nacos/conf/application.properties - ports: - - "8848:8848" - - "9848:9848" - - "9849:9849" - depends_on: - - ruoyi-mysql - ruoyi-mysql: - container_name: ruoyi-mysql - image: mysql:5.7 - build: - context: ./mysql - ports: - - "3306:3306" - volumes: - - ./mysql/conf:/etc/mysql/conf.d - - ./mysql/logs:/logs - - ./mysql/data:/var/lib/mysql - command: [ - 'mysqld', - '--innodb-buffer-pool-size=80M', - '--character-set-server=utf8mb4', - '--collation-server=utf8mb4_unicode_ci', - '--default-time-zone=+8:00', - '--lower-case-table-names=1' - ] - environment: - MYSQL_DATABASE: 'ry-cloud' - MYSQL_ROOT_PASSWORD: password - ruoyi-redis: - container_name: ruoyi-redis - image: redis - build: - context: ./redis - ports: - - "6379:6379" - volumes: - - ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf - - ./redis/data:/data - command: redis-server /home/ruoyi/redis/redis.conf - ruoyi-nginx: - container_name: ruoyi-nginx - image: nginx - build: - context: ./nginx - ports: - - "80:80" - volumes: - - ./nginx/html/dist:/home/ruoyi/projects/ruoyi-ui - - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf - - ./nginx/logs:/var/log/nginx - - ./nginx/conf.d:/etc/nginx/conf.d - depends_on: - - ruoyi-gateway - links: - - ruoyi-gateway - ruoyi-gateway: - container_name: ruoyi-gateway - build: - context: ./ruoyi/gateway - dockerfile: dockerfile - ports: - - "8080:8080" - depends_on: - - ruoyi-redis - links: - - ruoyi-redis - ruoyi-auth: - container_name: ruoyi-auth - build: - context: ./ruoyi/auth - dockerfile: dockerfile - ports: - - "9200:9200" - depends_on: - - ruoyi-redis - links: - - ruoyi-redis - ruoyi-modules-system: - container_name: ruoyi-modules-system - build: - context: ./ruoyi/modules/system - dockerfile: dockerfile - ports: - - "9201:9201" - depends_on: - - ruoyi-redis - - ruoyi-mysql - links: - - ruoyi-redis - - ruoyi-mysql - ruoyi-modules-gen: - container_name: ruoyi-modules-gen - build: - context: ./ruoyi/modules/gen - dockerfile: dockerfile - ports: - - "9202:9202" - depends_on: - - ruoyi-mysql - links: - - ruoyi-mysql - ruoyi-modules-job: - container_name: ruoyi-modules-job - build: - context: ./ruoyi/modules/job - dockerfile: dockerfile - ports: - - "9203:9203" - depends_on: - - ruoyi-mysql - links: - - ruoyi-mysql - ruoyi-modules-file: - container_name: ruoyi-modules-file - build: - context: ./ruoyi/modules/file - dockerfile: dockerfile - ports: - - "9300:9300" - volumes: - - ./ruoyi/uploadPath:/home/ruoyi/uploadPath - ruoyi-visual-monitor: - container_name: ruoyi-visual-monitor - build: - context: ./ruoyi/visual/monitor - dockerfile: dockerfile - ports: - - "9100:9100" +version: '3' + +services: + mysql: + image: mysql:8.0.27 + container_name: mysql + environment: + # 时区上海 + TZ: Asia/Shanghai + # root 密码 + MYSQL_ROOT_PASSWORD: ruoyi123 + # 初始化数据库 + MYSQL_DATABASE: ry-cloud + ports: + - 3306:3306 + volumes: + # 数据挂载 + - /docker/mysql/data/:/var/lib/mysql/ + # 配置挂载 + - /docker/mysql/conf/:/etc/mysql/conf.d/ + command: + # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配) + --default-authentication-plugin=mysql_native_password + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci + --explicit_defaults_for_timestamp=true + --lower_case_table_names=1 + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.36 + + nacos: + image: nacos/nacos-server:2.0.4 + container_name: nacos + ports: + - 8848:8848 + - 9848:9848 + - 9849:9849 + environment: + TZ: Asia/Shanghai + MODE: standalone + SPRING_DATASOURCE_PLATFORM: mysql + MYSQL_SERVICE_HOST: 172.30.0.36 + MYSQL_SERVICE_PORT: 3306 + MYSQL_SERVICE_USER: root + MYSQL_SERVICE_PASSWORD: ruoyi123 + MYSQL_SERVICE_DB_NAME: ry-config + MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC + volumes: + - /docker/nacos/logs/:/home/nacos/logs + - /docker/nacos/config/custom.properties:/home/nacos/init.d/custom.properties + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.40 + + redis: + image: redis:6.2.6 + container_name: redis + ports: + - 6379:6379 + environment: + # 时区上海 + TZ: Asia/Shanghai + volumes: + # 配置文件 + - /docker/redis/conf:/redis/config + # 数据文件 + - /docker/redis/data/:/redis/data/ + command: "redis-server /redis/config/redis.conf" + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.48 + + minio: + image: minio/minio:RELEASE.2021-10-27T16-29-42Z + container_name: minio + ports: + # api 端口 + - 9000:9000 + # 控制台端口 + - 9001:9001 + environment: + # 时区上海 + TZ: Asia/Shanghai + # 管理后台用户名 + MINIO_ACCESS_KEY: ruoyi + # 管理后台密码,最小8个字符 + MINIO_SECRET_KEY: ruoyi123 + volumes: + # 映射当前目录下的data目录至容器内/data目录 + - /docker/minio/data:/data + # 映射配置目录 + - /docker/minio/config:/root/.minio/ + command: server --console-address ':9001' /data # 指定容器中的目录 /data + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.54 + + seata-server: + image: seataio/seata-server:1.4.2 + container_name: seata-server + ports: + - 8091:8091 + environment: + TZ: Asia/Shanghai + # 注意 此处ip如果是外网使用 要改为外网ip + SEATA_IP: 172.30.0.58 + SEATA_PORT: 8091 + STORE_MODE: db + SEATA_CONFIG_NAME: file:/root/seata-config/registry + volumes: + - /docker/seata/config:/root/seata-config + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.58 + + nginx-web: + image: nginx:1.21.3 + container_name: nginx-web + environment: + # 时区上海 + TZ: Asia/Shanghai + ports: + - 80:80 + - 443:443 + volumes: + # 证书映射 + - /docker/nginx/cert:/etc/nginx/cert + # 配置文件映射 + - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf + # 页面目录 + - /docker/nginx/html:/usr/share/nginx/html + # 日志目录 + - /docker/nginx/log:/var/log/nginx + privileged: true + restart: always + networks: + - ruoyi_net + + sentinel: + image: ruoyi/ruoyi-sentinel-dashboard:0.6.0 + container_name: sentinel + environment: + TZ: Asia/Shanghai + ports: + - 8718:8718 + volumes: + # 配置文件 + - /docker/ruoyi-sentinel-dashboard/logs/:/ruoyi/sentinel-dashboard/logs + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.68 + + ruoyi-monitor-admin: + image: ruoyi/ruoyi-monitor:0.6.0 + container_name: ruoyi-monitor + environment: + # 时区上海 + TZ: Asia/Shanghai + ports: + - 9100:9100 + volumes: + # 配置文件 + - /docker/ruoyi-monitor/logs/:/ruoyi/monitor/logs + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.90 + + ruoyi-xxl-job-admin: + image: ruoyi/ruoyi-xxl-job-admin:0.6.0 + container_name: ruoyi-xxl-job-admin + environment: + # 时区上海 + TZ: Asia/Shanghai + ports: + - 9900:9900 + volumes: + # 配置文件 + - /docker/ruoyi-xxl-job-admin/logs/:/ruoyi/xxl-job-admin/logs + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.92 + + ruoyi-gateway: + image: ruoyi/ruoyi-gateway:0.6.0 + container_name: ruoyi-gateway + environment: + # 时区上海 + TZ: Asia/Shanghai + ports: + - 8080:8080 + volumes: + # 配置文件 + - /docker/ruoyi-gateway/logs/:/ruoyi/gateway/logs + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.100 + + ruoyi-auth: + image: ruoyi/ruoyi-auth:0.6.0 + container_name: ruoyi-auth + environment: + # 时区上海 + TZ: Asia/Shanghai + ports: + - 9200:9200 + volumes: + # 配置文件 + - /docker/ruoyi-auth/logs/:/ruoyi/auth/logs + privileged: true + restart: always + networks: + ruoyi_net: + ipv4_address: 172.30.0.110 + + ruoyi-system: + image: ruoyi/ruoyi-system:0.6.0 + container_name: ruoyi-system + environment: + # 时区上海 + TZ: Asia/Shanghai + ports: + - 9201:9201 + volumes: + # 配置文件 + - /docker/ruoyi-system/logs/:/ruoyi/system/logs + privileged: true + restart: always + networks: + - ruoyi_net + + ruoyi-resource: + image: ruoyi/ruoyi-resource:0.6.0 + container_name: ruoyi-resource + environment: + # 时区上海 + TZ: Asia/Shanghai + ports: + - 9300:9300 + volumes: + # 配置文件 + - /docker/ruoyi-resource/logs/:/ruoyi/resource/logs + privileged: true + restart: always + networks: + - ruoyi_net + +networks: + ruoyi_net: + driver: bridge + ipam: + config: + - subnet: 172.30.0.0/16 diff --git a/docker/mysql/db/readme.txt b/docker/mysql/db/readme.txt deleted file mode 100644 index 0b22f3fe..00000000 --- a/docker/mysql/db/readme.txt +++ /dev/null @@ -1 +0,0 @@ -sqlĿ¼µнűdockerԶִС \ No newline at end of file diff --git a/docker/mysql/dockerfile b/docker/mysql/dockerfile deleted file mode 100644 index b35dc5fd..00000000 --- a/docker/mysql/dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -# 基础镜像 -FROM mysql:5.7 -# author -MAINTAINER ruoyi - -# 执行sql脚本 -ADD ./db/*.sql /docker-entrypoint-initdb.d/ diff --git a/docker/nacos/conf/application.properties b/docker/nacos/conf/application.properties deleted file mode 100644 index e0034a9c..00000000 --- a/docker/nacos/conf/application.properties +++ /dev/null @@ -1,32 +0,0 @@ -spring.datasource.platform=mysql -db.num=1 -db.url.0=jdbc:mysql://ruoyi-mysql:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC -db.user=root -db.password=password - -nacos.naming.empty-service.auto-clean=true -nacos.naming.empty-service.clean.initial-delay-ms=50000 -nacos.naming.empty-service.clean.period-time-ms=30000 - -management.endpoints.web.exposure.include=* - -management.metrics.export.elastic.enabled=false -management.metrics.export.influx.enabled=false - -server.tomcat.accesslog.enabled=true -server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i - -server.tomcat.basedir= - -nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** - -nacos.core.auth.system.type=nacos -nacos.core.auth.enabled=false -nacos.core.auth.default.token.expire.seconds=18000 -nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789 -nacos.core.auth.caching.enabled=true -nacos.core.auth.enable.userAgentAuthWhite=false -nacos.core.auth.server.identity.key=serverIdentity -nacos.core.auth.server.identity.value=security - -nacos.istio.mcp.server.enabled=false diff --git a/docker/nacos/custom.properties b/docker/nacos/custom.properties new file mode 100644 index 00000000..b9ad82e8 --- /dev/null +++ b/docker/nacos/custom.properties @@ -0,0 +1,19 @@ +#spring.security.enabled=false +#management.security=false +#security.basic.enabled=false +#nacos.security.ignore.urls=/** +#management.metrics.export.elastic.host=http://localhost:9200 +# metrics for prometheus +management.endpoints.web.exposure.include=* + +# metrics for elastic search +#management.metrics.export.elastic.enabled=false +#management.metrics.export.elastic.host=http://localhost:9200 + +# metrics for influx +#management.metrics.export.influx.enabled=false +#management.metrics.export.influx.db=springboot +#management.metrics.export.influx.uri=http://localhost:8086 +#management.metrics.export.influx.auto-create-db=true +#management.metrics.export.influx.consistency=one +#management.metrics.export.influx.compressed=true \ No newline at end of file diff --git a/docker/nacos/dockerfile b/docker/nacos/dockerfile deleted file mode 100644 index a9f72d99..00000000 --- a/docker/nacos/dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -# 基础镜像 -FROM nacos/nacos-server -# author -MAINTAINER ruoyi - -# 复制conf文件到路径 -COPY ./conf/application.properties /home/nacos/conf/application.properties diff --git a/docker/nginx/conf/nginx.conf b/docker/nginx/conf/nginx.conf deleted file mode 100644 index 56bf0ca2..00000000 --- a/docker/nginx/conf/nginx.conf +++ /dev/null @@ -1,36 +0,0 @@ -worker_processes 1; - -events { - worker_connections 1024; -} - -http { - include mime.types; - default_type application/octet-stream; - sendfile on; - keepalive_timeout 65; - - server { - listen 80; - server_name localhost; - - location / { - root /home/ruoyi/projects/ruoyi-ui; - try_files $uri $uri/ /index.html; - index index.html index.htm; - } - - location /prod-api/{ - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://ruoyi-gateway:8080/; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - } -}# requirepass 123456 \ No newline at end of file diff --git a/docker/nginx/dockerfile b/docker/nginx/dockerfile deleted file mode 100644 index e0025b1b..00000000 --- a/docker/nginx/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM nginx -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi/projects/ruoyi-ui -# 创建目录 -RUN mkdir -p /home/ruoyi/projects/ruoyi-ui -# 指定路径 -WORKDIR /home/ruoyi/projects/ruoyi-ui -# 复制conf文件到路径 -COPY ./conf/nginx.conf /etc/nginx/nginx.conf -# 复制html文件到路径 -COPY ./html/dist /home/ruoyi/projects/ruoyi-ui diff --git a/docker/nginx/html/dist/readme.txt b/docker/nginx/html/dist/readme.txt deleted file mode 100644 index eea3a328..00000000 --- a/docker/nginx/html/dist/readme.txt +++ /dev/null @@ -1 +0,0 @@ -ǰruoyi-uiõľ̬ļnginxʡ \ No newline at end of file diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf new file mode 100644 index 00000000..07df7839 --- /dev/null +++ b/docker/nginx/nginx.conf @@ -0,0 +1,106 @@ +worker_processes 1; + +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + # 限制body大小 + client_max_body_size 100m; + + 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 /var/log/nginx/access.log main; + + upstream server { + ip_hash; + server 172.30.0.60:8080; + server 172.30.0.61:8080; + } + + upstream monitor-admin { + server 172.30.0.90:9090; + } + + upstream xxljob-admin { + server 172.30.0.92:9100; + } + + server { + listen 80; + server_name localhost; + + # https配置参考 start + #listen 443 ssl; + + # 证书直接存放 /docker/nginx/cert/ 目录下即可 更改证书名称即可 无需更改证书路径 + #ssl on; + #ssl_certificate /etc/nginx/cert/xxx.local.crt; # /etc/nginx/cert/ 为docker映射路径 不允许更改 + #ssl_certificate_key /etc/nginx/cert/xxx.local.key; # /etc/nginx/cert/ 为docker映射路径 不允许更改 + #ssl_session_timeout 5m; + #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; + #ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + #ssl_prefer_server_ciphers on; + # https配置参考 end + + # 演示环境配置 拦截除 GET POST 之外的所有请求 + # if ($request_method !~* GET|POST) { + # rewrite ^/(.*)$ /403; + # } + + # location = /403 { + # default_type application/json; + # return 200 '{"msg":"演示模式,不允许操作","code":500}'; + # } + + location / { + root /usr/share/nginx/html; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /prod-api/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://server/; + } + + # https 会拦截内链所有的 http 请求 造成功能无法使用 + # 解决方案1 将 admin 服务 也配置成 https + # 解决方案2 将菜单配置为外链访问 走独立页面 http 访问 + location /admin/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://monitor-admin/admin/; + } + + # https 会拦截内链所有的 http 请求 造成功能无法使用 + # 解决方案1 将 xxljob 服务 也配置成 https + # 解决方案2 将菜单配置为外链访问 走独立页面 http 访问 + location /xxl-job-admin/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://xxljob-admin/xxl-job-admin/; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +} diff --git a/docker/redis/conf/redis.conf b/docker/redis/conf/redis.conf deleted file mode 100644 index d762d650..00000000 --- a/docker/redis/conf/redis.conf +++ /dev/null @@ -1 +0,0 @@ -# requirepass 123456 \ No newline at end of file diff --git a/docker/redis/dockerfile b/docker/redis/dockerfile deleted file mode 100644 index dd7eaa80..00000000 --- a/docker/redis/dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -# 基础镜像 -FROM redis -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi/redis -# 创建目录 -RUN mkdir -p /home/ruoyi/redis -# 指定路径 -WORKDIR /home/ruoyi/redis -# 复制conf文件到路径 -COPY ./conf/redis.conf /home/ruoyi/redis/redis.conf diff --git a/docker/redis/redis.conf b/docker/redis/redis.conf new file mode 100644 index 00000000..72255c61 --- /dev/null +++ b/docker/redis/redis.conf @@ -0,0 +1,28 @@ +# redis 密码 +requirepass ruoyi123 + +# key 监听器配置 +# notify-keyspace-events Ex + +# 配置持久化文件存储路径 +dir /redis/data +# 配置rdb +# 15分钟内有至少1个key被更改则进行快照 +save 900 1 +# 5分钟内有至少10个key被更改则进行快照 +save 300 10 +# 1分钟内有至少10000个key被更改则进行快照 +save 60 10000 +# 开启压缩 +rdbcompression yes +# rdb文件名 用默认的即可 +dbfilename dump.rdb + +# 开启aof +appendonly yes +# 文件名 +appendfilename "appendonly.aof" +# 持久化策略,no:不同步,everysec:每秒一次,always:总是同步,速度比较慢 +# appendfsync always +appendfsync everysec +# appendfsync no diff --git a/docker/ruoyi/auth/dockerfile b/docker/ruoyi/auth/dockerfile deleted file mode 100644 index 01e777f0..00000000 --- a/docker/ruoyi/auth/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM openjdk:8-jre -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi -# 创建目录 -RUN mkdir -p /home/ruoyi -# 指定路径 -WORKDIR /home/ruoyi -# 复制jar文件到路径 -COPY ./jar/ruoyi-auth.jar /home/ruoyi/ruoyi-auth.jar -# 启动认证服务 -ENTRYPOINT ["java","-jar","ruoyi-auth.jar"] \ No newline at end of file diff --git a/docker/ruoyi/auth/jar/readme.txt b/docker/ruoyi/auth/jar/readme.txt deleted file mode 100644 index c35ba276..00000000 --- a/docker/ruoyi/auth/jar/readme.txt +++ /dev/null @@ -1 +0,0 @@ -֤ĴõjarļdockerӦá \ No newline at end of file diff --git a/docker/ruoyi/gateway/dockerfile b/docker/ruoyi/gateway/dockerfile deleted file mode 100644 index 016fdce7..00000000 --- a/docker/ruoyi/gateway/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM openjdk:8-jre -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi -# 创建目录 -RUN mkdir -p /home/ruoyi -# 指定路径 -WORKDIR /home/ruoyi -# 复制jar文件到路径 -COPY ./jar/ruoyi-gateway.jar /home/ruoyi/ruoyi-gateway.jar -# 启动网关服务 -ENTRYPOINT ["java","-jar","ruoyi-gateway.jar"] \ No newline at end of file diff --git a/docker/ruoyi/gateway/jar/readme.txt b/docker/ruoyi/gateway/jar/readme.txt deleted file mode 100644 index 5dfbec76..00000000 --- a/docker/ruoyi/gateway/jar/readme.txt +++ /dev/null @@ -1 +0,0 @@ -ģõjarļdockerӦá \ No newline at end of file diff --git a/docker/ruoyi/modules/file/dockerfile b/docker/ruoyi/modules/file/dockerfile deleted file mode 100644 index 7178d134..00000000 --- a/docker/ruoyi/modules/file/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM openjdk:8-jre -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi -# 创建目录 -RUN mkdir -p /home/ruoyi -# 指定路径 -WORKDIR /home/ruoyi -# 复制jar文件到路径 -COPY ./jar/ruoyi-modules-file.jar /home/ruoyi/ruoyi-modules-file.jar -# 启动文件服务 -ENTRYPOINT ["java","-jar","ruoyi-modules-file.jar"] \ No newline at end of file diff --git a/docker/ruoyi/modules/file/jar/readme.txt b/docker/ruoyi/modules/file/jar/readme.txt deleted file mode 100644 index bf2b2a7f..00000000 --- a/docker/ruoyi/modules/file/jar/readme.txt +++ /dev/null @@ -1 +0,0 @@ -ļõjarļdockerӦá \ No newline at end of file diff --git a/docker/ruoyi/modules/gen/dockerfile b/docker/ruoyi/modules/gen/dockerfile deleted file mode 100644 index def260d3..00000000 --- a/docker/ruoyi/modules/gen/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM openjdk:8-jre -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi -# 创建目录 -RUN mkdir -p /home/ruoyi -# 指定路径 -WORKDIR /home/ruoyi -# 复制jar文件到路径 -COPY ./jar/ruoyi-modules-gen.jar /home/ruoyi/ruoyi-modules-gen.jar -# 启动代码生成服务 -ENTRYPOINT ["java","-jar","ruoyi-modules-gen.jar"] \ No newline at end of file diff --git a/docker/ruoyi/modules/gen/jar/readme.txt b/docker/ruoyi/modules/gen/jar/readme.txt deleted file mode 100644 index 2f25c0af..00000000 --- a/docker/ruoyi/modules/gen/jar/readme.txt +++ /dev/null @@ -1 +0,0 @@ -ŴɴõjarļdockerӦá \ No newline at end of file diff --git a/docker/ruoyi/modules/job/dockerfile b/docker/ruoyi/modules/job/dockerfile deleted file mode 100644 index 100ecae2..00000000 --- a/docker/ruoyi/modules/job/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM openjdk:8-jre -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi -# 创建目录 -RUN mkdir -p /home/ruoyi -# 指定路径 -WORKDIR /home/ruoyi -# 复制jar文件到路径 -COPY ./jar/ruoyi-modules-job.jar /home/ruoyi/ruoyi-modules-job.jar -# 启动定时任务服务 -ENTRYPOINT ["java","-jar","ruoyi-modules-job.jar"] \ No newline at end of file diff --git a/docker/ruoyi/modules/job/jar/readme.txt b/docker/ruoyi/modules/job/jar/readme.txt deleted file mode 100644 index 58aea0b1..00000000 --- a/docker/ruoyi/modules/job/jar/readme.txt +++ /dev/null @@ -1 +0,0 @@ -ŶʱõjarļdockerӦá \ No newline at end of file diff --git a/docker/ruoyi/modules/system/dockerfile b/docker/ruoyi/modules/system/dockerfile deleted file mode 100644 index ced23b2e..00000000 --- a/docker/ruoyi/modules/system/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM openjdk:8-jre -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi -# 创建目录 -RUN mkdir -p /home/ruoyi -# 指定路径 -WORKDIR /home/ruoyi -# 复制jar文件到路径 -COPY ./jar/ruoyi-modules-system.jar /home/ruoyi/ruoyi-modules-system.jar -# 启动系统服务 -ENTRYPOINT ["java","-jar","ruoyi-modules-system.jar"] \ No newline at end of file diff --git a/docker/ruoyi/modules/system/jar/readme.txt b/docker/ruoyi/modules/system/jar/readme.txt deleted file mode 100644 index cfc2a927..00000000 --- a/docker/ruoyi/modules/system/jar/readme.txt +++ /dev/null @@ -1 +0,0 @@ -ϵͳģõjarļdockerӦá \ No newline at end of file diff --git a/docker/ruoyi/visual/monitor/dockerfile b/docker/ruoyi/visual/monitor/dockerfile deleted file mode 100644 index ea9370a3..00000000 --- a/docker/ruoyi/visual/monitor/dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# 基础镜像 -FROM openjdk:8-jre -# author -MAINTAINER ruoyi - -# 挂载目录 -VOLUME /home/ruoyi -# 创建目录 -RUN mkdir -p /home/ruoyi -# 指定路径 -WORKDIR /home/ruoyi -# 复制jar文件到路径 -COPY ./jar/ruoyi-visual-monitor.jar /home/ruoyi/ruoyi-visual-monitor.jar -# 启动系统服务 -ENTRYPOINT ["java","-jar","ruoyi-visual-monitor.jar"] \ No newline at end of file diff --git a/docker/ruoyi/visual/monitor/jar/readme.txt b/docker/ruoyi/visual/monitor/jar/readme.txt deleted file mode 100644 index 62b28410..00000000 --- a/docker/ruoyi/visual/monitor/jar/readme.txt +++ /dev/null @@ -1 +0,0 @@ -żĴõjarļdockerӦá \ No newline at end of file diff --git a/pom.xml b/pom.xml index e070b3f2..e1715d28 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,6 @@ 1.8 2.6.3 2021.0.0 - 2021.1 2.0.4 2.6.2 2.2.0 @@ -35,9 +34,6 @@ 5.7.20 3.16.8 2.2.1 - 2.7.15 - 1.4.2 - 1.0.11 2.3.0 2.0.9 3.0.3 @@ -98,45 +94,13 @@ - com.alibaba.cloud - spring-cloud-alibaba-dependencies - ${spring-cloud-alibaba.version} + com.ruoyi + ruoyi-common-alibaba-bom + ${ruoyi.version} pom import - - - com.alibaba.nacos - nacos-client - ${alibaba.nacos.version} - - - - - org.apache.dubbo - dubbo-spring-boot-starter - ${dubbo.version} - - - - org.apache.dubbo - dubbo - ${dubbo.version} - - - - io.seata - seata-spring-boot-starter - ${seata.version} - - - - com.alibaba.spring - spring-context-support - ${spring-context-support.version} - - org.springframework.boot @@ -305,7 +269,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 + 3.9.0 ${java.version} ${java.version} @@ -313,6 +277,29 @@ + + + + com.spotify + docker-maven-plugin + ${docker.plugin.version} + + ${docker.namespace}/${project.artifactId}:${project.version} + ${project.basedir} + ${docker.registry.host} + ${docker.registry.url} + ${docker.registry.url} + + + / + ${project.build.directory} + ${project.build.finalName}.jar + + + + + + src/main/resources diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 724a4ca3..43c09ea9 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -10,6 +10,7 @@ ruoyi-common-bom + ruoyi-common-alibaba-bom ruoyi-common-log ruoyi-common-dict ruoyi-common-excel diff --git a/ruoyi-common/ruoyi-common-alibaba-bom/pom.xml b/ruoyi-common/ruoyi-common-alibaba-bom/pom.xml new file mode 100644 index 00000000..4993c5a9 --- /dev/null +++ b/ruoyi-common/ruoyi-common-alibaba-bom/pom.xml @@ -0,0 +1,180 @@ + + + 4.0.0 + + com.ruoyi + ruoyi-common-alibaba-bom + 0.6.0 + pom + + + ruoyi-common-alibaba-bom alibaba依赖项 + + + + 2021.1 + 3.1.1 + 1.8.3 + 1.6 + 0.8.0 + 2.2.1 + 1.1.0 + 2.0.4 + 1.4.2 + 2.7.15 + 1.0.11 + + + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring-cloud-alibaba.version} + pom + import + + + com.alibaba.nacos + nacos-client + ${nacos.client.version} + + + com.alibaba.nacos + nacos-config + ${nacos.config.version} + + + com.alibaba.csp + sentinel-core + ${sentinel.version} + + + com.alibaba.csp + sentinel-parameter-flow-control + ${sentinel.version} + + + com.alibaba.csp + sentinel-datasource-extension + ${sentinel.version} + + + com.alibaba.csp + sentinel-datasource-apollo + ${sentinel.version} + + + com.alibaba.csp + sentinel-datasource-zookeeper + ${sentinel.version} + + + com.alibaba.csp + sentinel-datasource-nacos + ${sentinel.version} + + + com.alibaba.csp + sentinel-datasource-redis + ${sentinel.version} + + + com.alibaba.csp + sentinel-datasource-consul + ${sentinel.version} + + + com.alibaba.csp + sentinel-web-servlet + ${sentinel.version} + + + com.alibaba.csp + sentinel-spring-cloud-gateway-adapter + ${sentinel.version} + + + com.alibaba.csp + sentinel-transport-simple-http + ${sentinel.version} + + + com.alibaba.csp + sentinel-annotation-aspectj + ${sentinel.version} + + + com.alibaba.csp + sentinel-dubbo-adapter + ${sentinel.version} + + + com.alibaba.csp + sentinel-apache-dubbo-adapter + ${sentinel.version} + + + com.alibaba.csp + sentinel-reactor-adapter + ${sentinel.version} + + + com.alibaba.csp + sentinel-cluster-server-default + ${sentinel.version} + + + com.alibaba.csp + sentinel-cluster-client-default + ${sentinel.version} + + + com.alibaba.csp + sentinel-spring-webflux-adapter + ${sentinel.version} + + + com.alibaba.csp + sentinel-api-gateway-adapter-common + ${sentinel.version} + + + com.alibaba.csp + sentinel-spring-webmvc-adapter + ${sentinel.version} + + + io.seata + seata-spring-boot-starter + ${seata.version} + + + + + org.apache.dubbo + dubbo-spring-boot-starter + ${dubbo.version} + + + + org.apache.dubbo + dubbo-spring-boot-actuator + ${dubbo.version} + + + + org.apache.dubbo + dubbo + ${dubbo.version} + + + + com.alibaba.spring + spring-context-support + ${spring.context.support.version} + + + + diff --git a/ruoyi-common/ruoyi-common-dubbo/pom.xml b/ruoyi-common/ruoyi-common-dubbo/pom.xml index fb13351a..0808b8ba 100644 --- a/ruoyi-common/ruoyi-common-dubbo/pom.xml +++ b/ruoyi-common/ruoyi-common-dubbo/pom.xml @@ -30,7 +30,6 @@ org.apache.dubbo dubbo-spring-boot-actuator - ${dubbo.version}