From 5f4f0f1b21fe882dc51801d7c508c10b87d7af36 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Sun, 12 Nov 2023 13:17:19 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E4=BC=98=E5=8C=96=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=84=9A=E6=9C=AC=EF=BC=8Cmariadb=20=3D>=20m?= =?UTF-8?q?ysql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 10 ++++----- README.md | 8 +++---- docker/docker-compose.yml | 41 +++++++++++++++++++++--------------- docker/nginx/conf/nginx.conf | 2 -- docker/redis/conf/redis.conf | 2 +- 5 files changed, 34 insertions(+), 29 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index cd4f7912..4a2f75d2 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -35,7 +35,7 @@ jobs: password: ${{ secrets.SERVER_PASSWORD }} local: ./continew-admin-webapi/target/app remote: /docker/continew-admin - # 5、启动后端服务 + # 5、启动 - name: Start uses: appleboy/ssh-action@master with: @@ -46,7 +46,7 @@ jobs: script: | cd /docker docker-compose up --force-recreate --build -d continew-admin-server - docker images | grep none | awk '{print $3}' | xargs docker rmi + docker images | grep none | awk '{print $3}' | xargs docker rmi # 部署前端 deploy-web: @@ -85,7 +85,7 @@ jobs: password: ${{ secrets.SERVER_PASSWORD }} local: ./continew-admin-ui/dist remote: /docker/continew-admin/tmp - # 7、重启前端服务 + # 7、重启 Nginx - name: Restart uses: appleboy/ssh-action@master with: @@ -94,6 +94,6 @@ jobs: username: ${{ secrets.SERVER_USERNAME }} password: ${{ secrets.SERVER_PASSWORD }} script: | - rm -rf /docker/continew-admin/web/* - mv /docker/continew-admin/tmp/* /docker/continew-admin/web + rm -rf /docker/continew-admin/html/* + mv /docker/continew-admin/tmp/* /docker/continew-admin/html docker restart nginx \ No newline at end of file diff --git a/README.md b/README.md index e85c1aeb..4410746c 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ git clone https://github.com/Charles7c/continew-admin.git # 5.1.1 服务器安装好 docker 及 docker-compose(参考:https://blog.charles7c.top/categories/fragments/2022/10/31/CentOS%E5%AE%89%E8%A3%85Docker) # 5.1.2 执行 mvn package 进行项目打包,将 target/app 目录下的所有内容放到 /docker/continew-admin 目录下 # 5.1.3 将 docker 目录上传到服务器 / 目录下,并授权(chmod -R 777 /docker) -# 5.1.4 修改 docker-compose.yml 中的 MariaDB 配置、Redis 配置、continew-admin-server 配置、Nginx 配置 +# 5.1.4 修改 docker-compose.yml 中的 MySQL 配置、Redis 配置、continew-admin-server 配置、Nginx 配置 # 5.1.5 执行 docker-compose up -d 创建并后台运行所有容器 # 5.2 其他方式部署 ``` @@ -215,7 +215,7 @@ pnpm dev # 6.1.1 服务器安装好 docker 及 docker-compose(参考:https://blog.charles7c.top/categories/fragments/2022/10/31/CentOS%E5%AE%89%E8%A3%85Docker) # 6.1.2 执行 pnpm build 进行项目打包,将 dist 目录下的所有文件放到 /docker/continew-admin/web 目录下 # 6.1.3 将 docker 目录上传到服务器 / 目录下,并授权(chmod -R 777 /docker) -# 6.1.4 修改 docker-compose.yml 中的 MariaDB 配置、Redis 配置、continew-admin-server 配置、Nginx 配置 +# 6.1.4 修改 docker-compose.yml 中的 MySQL 配置、Redis 配置、continew-admin-server 配置、Nginx 配置 # 6.1.5 执行 docker-compose up -d 创建并后台运行所有容器 # 6.2 其他方式部署 ``` @@ -231,15 +231,15 @@ pnpm dev | Spring Boot | 3.1.5 | 简化 Spring 应用的初始搭建和开发过程,基于“约定优于配置”的理念,使开发人员不再需要定义样板化的配置。(Spring Boot 3.0 开始,要求 Java 17 作为最低版本) | | Undertow | 2.3.10.Final | 采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。 | | Sa-Token + JWT | 1.37.0 | 轻量级 Java 权限认证框架,让鉴权变得简单、优雅。 | -| MariaDB | 11.1.2 | MySQL 的一个分支,主要由开源社区在维护,完全兼容 MySQL,包括 API 和命令行,能轻松成为 MySQL 的代替品。 | | MyBatis Plus | 3.5.4 | MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,简化开发、提高效率。 | | dynamic-datasource-spring-boot-starter | 4.2.0 | 基于 Spring Boot 的快速集成多数据源的启动器。 | | Hikari | 5.0.1 | JDBC 连接池,号称 “史上最快连接池”,SpringBoot 在 2.0 之后,采用的默认数据库连接池就是 Hikari。 | +| MySQL | 8.0.33 | 体积小、速度快、总体拥有成本低,是最流行的关系型数据库管理系统之一。 | | mysql-connector-j | 8.0.33 | MySQL Java 驱动。 | | P6Spy | 3.9.1 | SQL 性能分析组件。 | | Liquibase | 4.20.0 | 用于管理数据库版本,跟踪、管理和应用数据库变化。 | -| Redis | 7.2.3 | 高性能的 key-value 数据库。 | | Redisson | 3.24.3 | 不仅仅是一个 Redis Java 客户端,同其他 Redis Java 客户端有着很大的区别,相比之下其他客户端提供的功能还仅仅停留在作为数据库驱动层面上,比如仅针对 Redis 提供连接方式,发送命令和处理返回结果等。而 Redisson 充分的利用了 Redis 键值数据库提供的一系列优势,基于 Java 实用工具包中常用接口,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。 | +| Redis | 7.2.3 | 高性能的 key-value 数据库。 | | SMS4J | 3.0.3 | 短信聚合框架,轻松集成多家短信服务,解决接入多个短信 SDK 的繁琐流程。 | | Just Auth | 1.16.5 | 开箱即用的整合第三方登录的开源组件,脱离繁琐的第三方登录 SDK,让登录变得 So easy! | | Easy Excel | 3.3.2 | 一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。 | diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f8019564..628b04bf 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,9 +1,9 @@ version: '3' services: - mariadb: - image: mariadb + mysql: + image: mysql:8.0.33 restart: always - container_name: mariadb + container_name: mysql ports: - '3306:3306' environment: @@ -14,8 +14,14 @@ services: #MYSQL_USER: 你的数据库用户名 #MYSQL_PASSWORD: 你的数据库密码 volumes: - - /docker/mysql/conf:/etc/mysql - - /docker/mysql/data:/var/lib/mysql + - /docker/mysql/conf/:/etc/mysql/conf.d/ + - /docker/mysql/data/:/var/lib/mysql/ + command: + --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 redis: image: redis:7.2.3 restart: always @@ -26,9 +32,9 @@ services: TZ: Asia/Shanghai volumes: - /docker/redis/conf/redis.conf:/usr/local/redis/config/redis.conf - - /docker/redis/data:/data - - /docker/redis/logs:/logs - command: 'redis-server /usr/local/redis/config/redis.conf --appendonly yes --requirepass 123456' + - /docker/redis/data/:/data/ + - /docker/redis/logs/:/logs/ + command: 'redis-server /usr/local/redis/config/redis.conf --appendonly yes --requirepass 你的 Redis 密码' continew-admin-server: build: ./continew-admin restart: always @@ -47,14 +53,14 @@ services: REDIS_PWD: 你的 Redis 密码 REDIS_DB: 你的 Redis 数据库索引 volumes: - - /docker/continew-admin/config:/app/config - - /docker/continew-admin/data/file:/app/data/file - - /docker/continew-admin/data/avatar:/app/data/avatar - - /docker/continew-admin/logs:/app/logs - - /docker/continew-admin/lib:/app/lib + - /docker/continew-admin/config/:/app/config/ + - /docker/continew-admin/data/file/:/app/data/file/ + - /docker/continew-admin/data/avatar/:/app/data/avatar/ + - /docker/continew-admin/logs/:/app/logs/ + - /docker/continew-admin/lib/:/app/lib/ depends_on: - redis - - mariadb + - mysql nginx: image: nginx:1.25.3 restart: always @@ -66,6 +72,7 @@ services: TZ: Asia/Shanghai volumes: - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf - - /docker/nginx/cert:/etc/nginx/cert - - /docker/continew-admin/web:/usr/share/nginx/html - - /docker/nginx/logs:/var/log/nginx + - /docker/nginx/cert/:/etc/nginx/cert/ + - /docker/nginx/logs/:/var/log/nginx/ + # 前端页面目录 + - /docker/continew-admin/html/:/usr/share/nginx/html/ diff --git a/docker/nginx/conf/nginx.conf b/docker/nginx/conf/nginx.conf index 0a379f7e..707de54a 100644 --- a/docker/nginx/conf/nginx.conf +++ b/docker/nginx/conf/nginx.conf @@ -32,7 +32,6 @@ http { server_name api.charles7c.top; # 证书直接存放 /docker/nginx/cert 目录下即可(更改证书名称即可,无需更改证书路径) - ssl on; ssl_certificate /etc/nginx/cert/xxx.local.pem; # /etc/nginx/cert/ 为 docker 映射路径 不允许更改 ssl_certificate_key /etc/nginx/cert/xxx.local.key; # /etc/nginx/cert/ 为 docker 映射路径 不允许更改 ssl_session_timeout 5m; @@ -67,7 +66,6 @@ http { server_name cnadmin.charles7c.top; # 证书直接存放 /docker/nginx/cert 目录下即可(更改证书名称即可,无需更改证书路径) - ssl on; ssl_certificate /etc/nginx/cert/xxx.local.pem; # /etc/nginx/cert/ 为 docker 映射路径 不允许更改 ssl_certificate_key /etc/nginx/cert/xxx.local.key; # /etc/nginx/cert/ 为 docker 映射路径 不允许更改 ssl_session_timeout 5m; diff --git a/docker/redis/conf/redis.conf b/docker/redis/conf/redis.conf index 79121a63..ad9246d5 100644 --- a/docker/redis/conf/redis.conf +++ b/docker/redis/conf/redis.conf @@ -1,6 +1,6 @@ bind 0.0.0.0 # redis 密码 -requirepass 123456 +requirepass 你的 Redis 密码 # key 监听器配置 # notify-keyspace-events Ex