Ruoyi 是一个基于 Spring Boot 的开源后台管理系统,广泛用于企业级 Java 开发。部署 Ruoyi 框架到生产环境时,服务器配置需根据实际业务规模、并发量、数据量等因素进行调整。以下是 Ruoyi 框架在生产环境中的推荐服务器要求:
一、基础服务器配置建议(适用于中小型项目)
| 项目 | 推荐配置 |
|---|---|
| CPU | 4 核及以上 |
| 内存(RAM) | 8 GB 起步,建议 16 GB(尤其开启 Redis、MySQL 同机部署时) |
| 硬盘(存储) | 100 GB SSD 起步(根据日志、数据增长情况扩展) |
| 操作系统 | Linux(推荐 CentOS 7+/Ubuntu 18.04+) |
| JDK 版本 | JDK 8 或 JDK 11(推荐使用 OpenJDK 或 Oracle JDK) |
| 部署方式 | Jar 包部署(Spring Boot 内嵌 Tomcat)或 War 包部署 |
二、依赖组件要求
-
Java 环境
- 必须安装 JDK(非 JRE)
- 推荐使用 JDK 8 或 JDK 11(Ruoyi 多数版本基于 Spring Boot 2.x,兼容 JDK 8+)
-
数据库(MySQL)
- 版本:MySQL 5.7 或 MySQL 8.0
- 内存:建议数据库单独部署,或至少分配 2GB 以上内存给 MySQL
- 配置:开启慢查询日志、合理设置连接池(如 HikariCP)
-
Redis(可选但推荐)
- 用于缓存、登录会话管理(如集成 Redis 版的 Token 存储)
- 建议版本:Redis 5.0+
- 内存:根据缓存数据量,建议预留 1~2GB 内存
-
Nginx(前端部署)
- 若使用 Ruoyi-Vue 前端,建议使用 Nginx 托管静态资源
- 用于反向X_X、负载均衡、HTTPS 支持
-
Maven / 构建工具
- 生产环境无需 Maven,但构建服务器需要 Maven 3.6+ 打包
三、网络与安全要求
-
端口开放:
- 后端服务端口(如 8080)
- 前端 Nginx 端口(80/443)
- MySQL(3306,建议内网访问)
- Redis(6379,建议禁用X_X访问)
-
防火墙配置:
- 使用
firewalld或ufw控制端口访问 - 禁止不必要的端口暴露
- 使用
-
HTTPS 支持:
- 使用 Nginx + SSL 证书(Let’s Encrypt 或商业证书)启用 HTTPS
四、高并发/大型项目建议
| 场景 | 建议配置 |
|---|---|
| 日活跃用户 > 1万 | 至少 8核 CPU、32GB 内存 |
| 数据库独立部署 | 单独服务器运行 MySQL,配置主从复制 |
| Redis 独立部署 | 提升性能与稳定性 |
| 使用负载均衡 | 多节点部署 Ruoyi 后端 + Nginx 或 LVS 做负载 |
| 日志管理 | 使用 ELK(Elasticsearch + Logstash + Kibana)或 Loki |
五、部署架构示例(生产环境推荐)
用户 → Nginx (HTTPS, 负载均衡)
├── Ruoyi-Server 节点1(Java 后端,8080)
├── Ruoyi-Server 节点2(Java 后端,8080)
├── 静态资源(Vue 前端)
├── MySQL(独立服务器)
└── Redis(独立服务器)
六、性能优化建议
- JVM 参数调优(如:
-Xms2g -Xmx2g) - 数据库索引优化
- 使用 CDN 托管前端静态资源
- 定期清理日志文件(避免磁盘占满)
- 使用
systemd或supervisor管理 Java 进程
总结
| 项目规模 | 推荐配置 |
|---|---|
| 小型系统(测试/内部使用) | 2核4G,MySQL 与 Java 同机 |
| 中型系统(百人级用户) | 4核8G~16G,MySQL 独立部署 |
| 大型系统(高并发) | 多节点集群 + 负载均衡 + 独立中间件 |
⚠️ 注意:具体配置需根据实际压测结果和业务增长预估进行调整。
如你使用的是 Ruoyi-Cloud(微服务版),还需考虑 Spring Cloud 组件(如 Nacos、Gateway、Sentinel)的资源开销,建议每个微服务独立部署,总体资源需求更高。
如有具体版本(如 Ruoyi-Vue 4.7.0、Ruoyi-Cloud 等),可提供更精准建议。
云服务器