代码改变世界

安装ruoyi 微服务 对接minio

2026-08-08 20:01  kirimi  阅读(22)  评论(0)    收藏  举报

RuoYi-Cloud 安装部署笔记

本文档记录 RuoYi-Cloud 微服务环境的部署流程:先部署 Nacos 注册/配置中心,再编译启动若依微服务后端与前端,最后接入 MinIO 作为文件存储。

1. 项目结构

com.ruoyi
├── ruoyi-ui              // 前端框架 [80]
├── ruoyi-gateway         // 网关模块 [8080]
├── ruoyi-auth            // 认证中心 [9200]
├── ruoyi-api             // 接口模块
│       └── ruoyi-api-system                          // 系统接口
├── ruoyi-common          // 通用模块
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-seata                        // 分布式事务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-sensitive                    // 数据脱敏
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual          // 图形化管理模块
│       └── ruoyi-visual-monitor                      // 监控中心 [9100]
└── pom.xml               // 公共依赖

2. Nacos 部署

2.1 创建数据库

数据库 导入脚本 说明
ry-cloud ry_2021xxxx.sql(必须) 业务库,quartz.sql 可选导入
ry-config ry_config_2021xxxx.sql(必须) Nacos 配置库

2.2 配置 Nacos 持久化(MySQL 数据源)

修改 conf/application.properties 文件,增加以下 MySQL 数据源配置:

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://databases:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
db.user.0=admin
db.password.0=123

2.3 单机模式启动

sh bin/startup.sh -m standalone

启动后访问:http://10.0.0.31:8848/nacos/

2.4 更换 MySQL 驱动(兼容 MariaDB 10.5)

Nacos 默认自带的 MySQL 连接器版本较低,与 MariaDB 10.5 或 MySQL 8.0 不兼容,需手动更换驱动:

# 创建驱动目录(如果不存在)
mkdir -p /opt/nacos/plugins/mysql

# 下载 mysql-connector-java-8.0.30.jar
wget -P /opt/nacos/plugins/mysql https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar

# 重启 Nacos 服务
sh /opt/nacos/bin/shutdown.sh
sh /opt/nacos/bin/startup.sh -m standalone

3. 启动若依微服务后端

image-20260808190403043

3.1 修改 Nacos 配置

在 Nacos 配置中心修改各配置文件中的 Redis、MySQL、MinIO 地址,指向实际环境。

3.2 编译打包

mvn clean package

3.3 启动后端服务

服务 jar 包 端口 是否必须
认证中心 ruoyi-auth.jar 9200 必须
网关模块 ruoyi-gateway.jar 8080 必须
系统模块 ruoyi-modules-system.jar 9201 必须
代码生成 ruoyi-modules-gen.jar 9202 按需
文件服务 ruoyi-modules-file.jar 9300 按需
# 必须启动:认证中心、网关模块、系统模块(代码生成、文件服务按需启动)
java -jar /opt/RuoYi-Cloud/ruoyi-auth/target/ruoyi-auth.jar
java -jar /opt/RuoYi-Cloud/ruoyi-gateway/target/ruoyi-gateway.jar
java -jar /opt/RuoYi-Cloud/ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar
java -jar /opt/RuoYi-Cloud/ruoyi-modules/ruoyi-gen/target/ruoyi-modules-gen.jar
java -jar /opt/RuoYi-Cloud/ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar

3.4 启动前端

前端项目为 ruoyi-ui:先通过 npm 编译,再使用 Nginx 做反向代理,微服务即可正常访问。

4. 接入 MinIO

4.1 部署 MinIO 服务端

安装 MinIO 并创建存储桶(bucket)ruoyi,安装步骤见 安装_MinIO.md

4.2 创建文件信息表

ry-cloud 库中创建上传文件信息表:

drop table if exists sys_file_info;
create table sys_file_info (
  file_id           int(11)          not null auto_increment       comment '文件id',
  file_name         varchar(50)      default ''                    comment '文件名称',
  file_path         varchar(255)     default ''                    comment '文件路径',
  primary key (file_id)
) engine=innodb auto_increment=1 default charset=utf8 comment = '文件信息表';

4.3 代码生成并导入项目

在若依代码生成中,将 file_path 字段的显示类型改为「上传」,然后生成代码(

image-20260808193705790

将生成的代码放入 RuoYi-Cloud 项目中,在数据库中执行生成的 SQL 语句,然后重新编译,此时要注意编码问题。

4.4 修改 Nacos 中的 MinIO 配置

在 Nacos 的 ruoyi-file-dev.yml 中修改 MinIO 配置:

# Minio配置
minio:
  url: http://10.0.0.71:9000
  accessKey: admin
  secretKey: 123@qq.COM
  bucketName: ruoyi

完成以上步骤后,系统即完成 MinIO 接入。