RuoYi-Vue-Plus 分布式集群部署实操与避坑

发布时间:2026/10/21 1:30:57
RuoYi-Vue-Plus 分布式集群部署实操与避坑 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 部署完成后会话挂在 Redis、锁走 Redisson、调度走 SnailJob实例本身可以做到无状态横向扩。按下面的顺序走两条命令加几处配置浏览器里就能看到登录页了。先说明一点这个仓库只有后端前端是配套的独立项目需要单独拉取。它到底解决了什么问题Redis 托管会话多实例部署时登录态不依赖粘性会话在 A 实例登录走 B 实例的请求也认得你适合按地域或多节点拆部署的场景Redisson 分布式锁多个实例同时触发同一任务时防止重复执行定时批量跑数、抢占式业务的运维用得上SnailJob 调度后台定时任务带重试和分组派发替代裸 crontab适合有失败重试诉求的批处理WarmFlow 工作流请假、报销这类带节点和办理人的审批流内置设计器业务团队不用自己写状态机数据权限按用户、角色限制可见的数据行多部门共用一个后台但各自只看自己的数据跑起来之前先做个体检项目最低推荐JavaJDK 21JDK 21 LTS项目按 JDK 21 编译Maven3.93.9.xMySQL8.x8.x 主备Redis6.07.xNode.js1820 LTS前端用内存4 GB8 GB磁盘可用10 GB20 GB内存不够时最常见的症状是 Redis 连接超时JVM 和 MySQL 把内存吃紧之后网络栈响应变慢Redisson 和连接池会先报 timeout别一上来就怀疑 Redis 挂了。最短路径从克隆到看到页面git clone https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue-Plus cd RuoYi-Vue-Plus mvn clean install -DskipTests mvn spring-boot:run -pl ruoyi-adminruoyi-admin 是聚合启动模块spring-boot:run会把它依赖的 system、workflow 等模块一起拉起来所以不需要再逐模块编译。启动日志刷到Started DromaraApplication这一步说明后端已经活了。前端是独立的配套项目 plus-uiVue3 TS ElementPlus单独克隆后进入它的目录npm install npm run dev这一步跑完浏览器访问前端页面用默认账号 admin / admin123 登录能看到首页就算通了。核心配置数据库、Redis 与会话密钥先把数据库灌上开发配置默认指向localhost:3306的ry-vue库mysql -uroot -p -e CREATE DATABASE ry-vue DEFAULT CHARACTER SET utf8mb4 mysql -uroot -p ry-vue script/sql/ry_vue.sql数据源、Redis、Redisson 全部写在 application-dev.yml 里。库名、账号、密码和你的 MySQL 不一致时改 master 数据源的 url/username/password 三行即可不用 MySQL 的话script/sql/ 下还有 oracle、postgres、sqlserver 三套脚本按对应注释段启用数据源。Redis会话的地基密码是必填项spring.data: redis: host: localhost port: 6379 password: ruoyi123 # 改成你自己的本机没设密码也要保持一致所有登录 token 都存这里应用实例本身不存会话所以敢随便加机器。注意 password 是必须配置的就算本机 Redis 没设密码这里的值也要和redis.conf里实际的值一致不一致直接报认证失败。同一份配置里还有 Redisson 的singleServerConfig和集群配置两套注释写得明白单机与集群只能开一个。本地开发保持单机就够要切哨兵或集群时把单节点段注释掉、放开对应段别两套同时留着。会话密钥默认值必须换application.yml 里sa-token.jwt-secret-key出厂是字母表 a 到 z生产必须换成自己的随机串否则任何拿到源码的人都能伪造 token。同文件里接口加密的 SM2 公私钥默认也是内置的正式部署前自己生成一对并把公钥同步给前端做请求加密。上了生产之后该调哪几个旋钮HikarimaxPoolSize默认 20。判断依据是日志里出现connectionTimeout或 HIKARIPOOL 报错——高峰期拿不到连接了调大前先拿 MySQL 的max_connections除以实例数别把数据库压爆Jettythreads.max默认 20000配置里注释说了开虚拟线程后它是最大并发任务数而不是线程池大小。SSE 这类长连接会一直占着槽位消息推送或 AI 聊天并发高、响应变慢时才动它按实际在线用户量加请求峰值估算虚拟线程开关spring.threads.virtual.enabled默认关仅 JDK 21 可用。接口以查库、调第三方这类 IO 等待为主时开启能明显提并发别在有大量 CPU 密集处理的模块上盲目开跑不通时先查这里症状启动报 Redis 认证失败WRONGPASS / NOAUTH最常见原因spring.data.redis.password和 Redis 实际密码不一致本机没设密码时留了默认值也会错。redis-cli -h 127.0.0.1 -p 6379 -a 你的密码 ping症状Communications link failure/Connection refused到 3306最常见原因MySQL 没起或者服务绑了 127.0.0.1 而配置指向了别的地址。systemctl status mysqld症状8080 端口被占用起不来最常见原因本机已有旧进程或别的服务占着端口。ss -lntp | grep 8080症状前端起来了登录接口全部超时或 404最常见原因前端代理还是指向前端仓库里的默认地址没指向你实际的 8080。grep -rn 8080 plus-ui/vite.config.ts上线前过一遍这个清单profiles.active确实生效为 prod日志级别是 warnspringdoc.api-docs.enabled设为 false接口文档不对外暴露数据源、Redis、Sa-Token 的 jwt-secret-key、接口加密公私钥所有默认值已替换默认 admin/admin123 已修改Actuator 端点从include: *收敛为必要的几个当前默认全量暴露含 health 明细【免费下载链接】RuoYi-Vue-Plus多租户后台管理系统 重写RuoYi-Vue所有功能 集成 Sa-Token、Mybatis-Plus、WarmFlow、SpringDoc、Hutool、OSS 定期同步项目地址: https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue-Plus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询