☰
RuoYi-Vue-Plus 完整部署与快速上手指南:从克隆到登录后台
2026/10/21 1:39:12 网站建设 项目流程

RuoYi-Vue-Plus 完整部署与快速上手指南:从克隆到登录后台

【免费下载链接】RuoYi-Vue-Plus多租户后台管理系统 重写RuoYi-Vue所有功能 集成 Sa-Token、Mybatis-Plus、WarmFlow、SpringDoc、Hutool、OSS 定期同步项目地址: https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue-Plus

RuoYi-Vue-Plus 是重写 RuoYi-Vue 的分布式多租户后台管理系统,集成 Sa-Token、Mybatis-Plus、WarmFlow 工作流。跟完本文做一次 RuoYi-Vue-Plus 部署,你得到的是一套能登录的管理后台:用户、角色、菜单、字典、代码生成、流程审批全部可用,接口文档页面同步打开,Redis 里实时记录着每个在线会话。

🖥️ 部署效果预览

跑起来后你能访问三个地址:

  • 后端接口:http://localhost:8080(默认端口 8080,Jetty 容器)
  • 接口文档:http://localhost:8080/api-docs,按"演示模块/系统模块/工作流模块"分组展示全部 API
  • 前端界面:官方前端项目 plus-ui 单独部署后指向 8080,默认账号admin/ 密码admin123(带数学验证码登录)

后端支持多实例同时启动(Docker 编排里就有ruoyi-server1、ruoyi-server2两个实例,分别占 8080、8081 端口),同一账号在两台机器上登录互不冲突,这就是"分布式会话"的实际形态。

📋 开工前体检

对照下表确认环境,缺哪项补哪项:

依赖版本要求是否必须用途
JDK21 及以上是运行与编译,6.0.0 版已不支持 JDK 8
Maven3.6+是构建,仓库自带mvnw可免装
MySQL5.7+ / 8.x是主数据库(也支持 Oracle、PostgreSQL、SQLServer)
Redis6.0+是缓存、分布式会话、分布式锁(Lock4j/Redisson)
Node.js14+可选本地跑前端 plus-ui 时需要
Docker可选可选用 script/docker/docker-compose.yml 一键拉起全套环境

🚀 快速通道:最短路径把服务跑起来

第 1 步:拉代码

git clone https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue-Plus cd RuoYi-Vue-Plus

做完的标志:目录里能看到ruoyi-admin、ruoyi-common、ruoyi-modules、ruoyi-extend四个模块。

第 2 步:构建打包

mvn clean package -DskipTests

做完的标志:终端出现BUILD SUCCESS,且ruoyi-admin/target/下生成了可执行 jar。

第 3 步:初始化数据库

建库并导入脚本(库名必须叫ry-vue,与默认配置一致):

mysql -uroot -p -e "CREATE DATABASE `ry-vue` DEFAULT CHARACTER SET utf8mb4" mysql -uroot -p `ry-vue` < script/sql/ry_vue.sql

做完的标志:show tables;能看到sys_user、sys_menu、sys_role等 20 多张表。用到定时任务或工作流时,再把 script/sql/ 里的ry_job.sql、ry_workflow.sql一并导入。

第 4 步:直接启动

java -jar ruoyi-admin/target/ruoyi-admin.jar

开发默认配置读的是 ruoyi-admin/src/main/resources/application-dev.yml:MySQL 走localhost:3306/ry-vue(root/root),Redis 密码ruoyi123。做完的标志:日志出现Started DromaraApplication,浏览器打开http://localhost:8080/api-docs能列出全部接口分组。

🏭 正式环境改造:数据库、缓存与关键配置

正式部署只改这几处,都在 ruoyi-admin/src/main/resources/application-dev.yml(生产可复制到 application-prod.yml 同结构位置):

数据源,把地址、账号密码换成你的:

spring.datasource.dynamic.datasource.master: url: jdbc:mysql://你的地址:3306/ry-vue?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8 username: 你的账号 password: 你的密码

Redis,密码必须改,生产建议开启认证:

spring.data.redis: host: 你的redis地址 port: 6379 password: 你的密码

另外两处按需检查:ruoyi-admin/src/main/resources/application.yml 里的sa-token.jwt-secret-key换掉示例值;captcha.enable生产环境保持true。数据库为 MySQL、Oracle、PostgreSQL、SQLServer 时,参考对应目录的脚本:script/sql/oracle/、script/sql/postgres/、script/sql/sqlserver/。

🧩 企业级特性开关

  • 多租户:租户隔离依赖 Mybatis-Plus 的TenantLineInnerInterceptor插件,注册点在 ruoyi-common/ruoyi-common-mybatis 的MybatisPlusConfig。当前仓库未携带租户模块与sys_tenant表,需要多租户隔离的团队按官方文档引入对应扩展包后,在插件链里启用即可生效。
  • 分布式会话:Sa-Token 的会话数据默认落 Redis,无需额外开关。行为由 ruoyi-admin/src/main/resources/application.yml 中sa-token.is-concurrent(是否允许同账号并发登录)与is-share(多端是否共用一个 token)控制。生效条件:所有实例连同一个 Redis,会话即在集群间自动同步。
  • 工作流:warm-flow.enabled: true(默认开启),审批流设计器 UI 随之可用;snail-job、snail-ai客户端默认enabled: false,需要分布式任务调度或 AI 能力时再打开并部署对应 Server(见 ruoyi-extend/)。

✅ 上线前体检:冒烟测试清单

  1. 启动日志无 ERROR,Started DromaraApplication正常出现
  2. 用admin/admin123登录,数学验证码校验通过
  3. 进"用户管理"新建一个测试用户,再进"角色管理"分配菜单,验证写入
  4. 切换新用户登录,旧账号的数据权限范围是否符合预期(读权限验证)
  5. "登录日志""操作日志"能看到刚才的记录(数据库读写闭环)
  6. "在线用户"页面能看到两个登录会话,强制踢出其中一个,被踢端刷新后提示 token 失效(分布式会话验证)
  7. http://localhost:8080/api-docs各分组接口可点开

全部通过,就可以交付使用了。

⚡ 性能调优(进阶可选)

  • 数据库连接池(Hikari,dev 默认值在 application-dev.yml):maxPoolSize默认 20,按CPU核数 × 2 + 磁盘数估算上调;minIdle建议与最大值一致避免抖动;maxLifetime保持 30 分钟,小于 MySQL 的wait_timeout。
  • Jetty 线程:application.yml 中server.jetty.threads.max控制最大并发任务数,SSE 长连接会持续占用槽位,按在线用户量调整,默认 20000 偏大,中小站点收到几千即可。
  • JVM 参数:8GB 内存机器建议-Xms2g -Xmx4g,用java -Xms2g -Xmx4g -jar启动。
  • 批量写入:JDBC URL 已带rewriteBatchedStatements=true,批量操作性能提升明显,保持即可。

🧯 救火手册:高频故障速查

  1. 现象:启动报Communications link failure/ 连接拒绝。原因:MySQL 没起、库名不是ry-vue或密码不对。解法:确认mysql服务在跑,库名拼写一致,配置里账号密码与mysql -u -p手动登录验证一致。
  2. 现象:报 Redis 认证错误WRONGPASS或连接超时。原因:Redis 开了密码但配置还是ruoyi123,或端口被防火墙挡了。解法:把spring.data.redis.password改成实际密码,redis-cli ping先测通。
  3. 现象:8080 端口被占用,进程起不来。原因:本机已有服务占端口。解法:启动加参数-Dserver.port=8081换端口,前端代理地址同步改。
  4. 现象:mvn clean package报 Java 版本或编译错误。原因:本机是 JDK 8/17,项目要求 JDK 21。解法:java -version确认版本,换成 21 再执行。
  5. 现象:登录页报"获取验证码失败"或接口 500。原因:库没导全(缺sys_client等表)。解法:重新核对ry_vue.sql导入是否完整,select count(*) from sys_client;应大于 0。

RuoYi-Vue-Plus 部署完成后,从本地验证到多实例生产部署的改造路径已经打通。遇到多租户配置、性能调优或故障排查的新问题,回到上面的开关清单和救火手册对照处理即可。

【免费下载链接】RuoYi-Vue-Plus多租户后台管理系统 重写RuoYi-Vue所有功能 集成 Sa-Token、Mybatis-Plus、WarmFlow、SpringDoc、Hutool、OSS 定期同步项目地址: https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue-Plus

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询