在将 RuoYi-Vue(前后端分离版) 部署到生产环境时,其系统资源需求取决于实际业务规模(如并发用户数、数据量、是否启用缓存/搜索/定时任务等),但作为通用推荐,以下是最低可行且具备基本稳定性和可维护性的生产配置建议(针对 CentOS 7/8/Stream 或 Ubuntu 20.04/22.04 LTS):
✅ 最低推荐系统配置(轻量级生产环境,适用于中小项目)
| 项目 | 推荐值 | 说明 |
|---|---|---|
| 操作系统 | ✅ CentOS 7.9+ / CentOS Stream 8/9 ✅ Ubuntu 20.04 LTS / 22.04 LTS |
优先选择 LTS 版本,长期支持、安全更新完善;避免使用已 EOL 系统(如 CentOS 6、Ubuntu 18.04)。RuoYi 官方文档常见基于 CentOS 7/8 和 Ubuntu 20.04 验证。 |
| CPU | ≥ 2 核(vCPU) | 后端(Spring Boot + MySQL + Redis)+ 前端(Nginx 静态服务)需多进程/线程,单核易成为瓶颈。 |
| 内存(RAM) | ≥ 4 GB | 分配建议: • Java 进程(-Xms2g -Xmx2g)→ 占用约 2–2.5G • MySQL(InnoDB buffer pool ≥ 512MB)→ ~0.5–1G • Redis(默认配置)→ ~100–300MB • Nginx + 系统开销 → ~300MB ⚠️ 若仅 2GB 内存,Java GC 压力大,易 OOM,不推荐用于生产。 |
| 磁盘 | ≥ 40 GB SSD(推荐 NVMe) | • 系统 + 软件:~10GB • MySQL 数据文件(按业务增长预留):≥20GB 起步 • 日志(access.log、spring boot logs、audit logs)需定期轮转,建议单独挂载 /var/log/ruoyi• 必须使用 SSD:HDD 在高并发 I/O 下性能严重受限。 |
| 网络 | ≥ 100 Mbps 公网带宽(或内网互通) | 满足常规 HTTP/HTTPS 访问;若含文件上传/导出,建议 ≥ 10 Mbps 实际可用带宽。 |
⚠️ 关键组件版本兼容性(必须匹配)
| 组件 | 最低推荐版本 | 备注 |
|---|---|---|
| JDK | OpenJDK 11 或 17(LTS) | RuoYi-Vue 3.x/4.x 官方要求 JDK 11+;禁用 JDK 8(已不支持);推荐 Eclipse Temurin 或 Amazon Corretto。 |
| MySQL | 5.7.20+ 或 8.0.20+ | 注意:MySQL 8.0 默认 caching_sha2_password 插件,需在 Spring Boot application-druid.yml 中显式配置 serverTimezone=Asia/Shanghai 并确认驱动兼容(建议用 mysql-connector-java:8.0.33+)。 |
| Redis | 6.2+(推荐 7.x) | 用于缓存、在线用户、验证码等;若不用 Redis,需关闭相关模块并修改配置。 |
| Nginx | 1.18+ | 用于反向X_X(后端 API)和静态资源(Vue 打包后的 dist/ 目录);需支持 HTTPS(Let’s Encrypt)。 |
| Node.js(仅构建阶段) | 16.x / 18.x(LTS) | 生产服务器无需安装 Node.js!前端 dist/ 应在开发机或 CI/CD 流水线中构建完成,仅将 dist/ 目录部署至 Nginx。 |
📌 生产环境最佳实践补充
- 安全加固:
- 关闭不必要的端口(仅开放 80/443/22);
- 使用非 root 用户运行 Java/MySQL/Redis(如
ruoyi用户); - MySQL 禁用 root 远程登录,创建专用账号(
ruoyi@'localhost'); - Nginx 配置
X-Frame-Options,X-Content-Type-Options,Strict-Transport-Security。
- 高可用建议(进阶):
- 数据库主从复制 + 读写分离(当 QPS > 500);
- Redis 哨兵或 Cluster 模式;
- Nginx + Keepalived 实现负载均衡(双机热备)。
- 监控告警:
- 部署
Prometheus + Grafana监控 JVM、MySQL、Nginx 指标; - 日志集中收集(ELK 或 Loki + Promtail)。
- 部署
❌ 不推荐的配置(常见误区)
| 配置 | 风险 |
|---|---|
| 1核2GB 的云服务器(如腾讯云轻量应用服务器基础版) | Java 启动后内存吃紧,频繁 Full GC,响应延迟高,无法承载 50+ 并发,仅适合测试/学习。 |
| CentOS 6 / Ubuntu 16.04 | 已 EOL,无安全更新,OpenSSL/Nginx 等存在已知漏洞,不符合等保/合规要求。 |
| MySQL 5.6 或更低 | 缺少 JSON 支持、性能优化不足,RuoYi 部分功能(如动态表单)可能异常。 |
✅ 总结:推荐起步配置(性价比之选)
| 场景 | 推荐配置 | 适用规模 |
|---|---|---|
| 初创/内部系统/POC | 2核4GB + 40GB SSD + Ubuntu 22.04 LTS | < 200 日活,QPS < 100 |
| 正式中小企业生产环境 | 4核8GB + 100GB SSD + CentOS Stream 9 或 Ubuntu 22.04 LTS | < 2000 日活,QPS < 500,含报表/文件上传 |
| 高并发/X_X类系统 | 8核16GB+ + RAID SSD + MySQL 主从 + Redis Cluster | QPS > 1000,需等保三级合规 |
💡 提示:RuoYi 官方 GitHub Wiki 和 RuoYi 官网文档 提供了详细的 Linux 部署脚本(含
install.sh)和 Docker Compose 示例,强烈建议结合使用以降低配置错误风险。
如需,我可为你提供:
- ✅ 一键部署脚本(Shell + systemd 服务管理)
- ✅ Nginx + Spring Boot 反向X_X完整配置示例
- ✅ 生产环境
application-prod.yml安全配置模板 - ✅ Docker 部署方案(多容器编排)
欢迎继续提问! 🚀
轻量云Cloud