在将 RuoYi-Vue(前后端分离版本,即 ruoyi-vue 或 ruoyi-vue-pro)部署到生产环境时,其系统资源需求取决于实际业务规模、并发量、数据量及是否启用额外功能(如定时任务、文件上传、Redis缓存、Elasticsearch等)。但针对标准中小型企业级应用的轻量生产部署,以下是经过实践验证的最低推荐配置(兼顾稳定性与可维护性):
✅ 推荐最低生产环境配置(单机部署,中低负载)
| 项目 | 推荐最低配置 | 说明 |
|---|---|---|
| 操作系统 | ✅ CentOS 7.6+(x86_64) 或 Ubuntu 20.04 LTS / 22.04 LTS | 官方长期支持、生态稳定;避免使用 CentOS 8(已 EOL)或 Ubuntu 非LTS版本;建议选择 CentOS Stream 8/9 或 Rocky Linux 8/9 / AlmaLinux 8/9(CentOS替代方案)作为更可持续选择 |
| CPU | 2 核(vCPU) | Spring Boot 后端较吃 CPU;1核勉强启动但无法应对并发请求(如登录、查询),易触发 Full GC 或响应延迟 |
| 内存(RAM) | 4 GB(强烈建议 ≥6 GB) | ⚠️ 实测:RuoYi 后端(Spring Boot + MyBatis + Redis + Quartz)+ 前端 Nginx + MySQL(本地)在空载时约占用 1.2–1.8 GB;<4GB 易因 JVM 堆内存不足(默认 -Xms512m -Xmx1024m)导致 OOM 或频繁 GC;6GB 是安全起点 |
| 磁盘 | ≥40 GB SSD(建议 NVMe) | 系统 + JDK + Maven/Node.js(构建用)+ MySQL 数据 + 日志 + 备份;HDD 可能显著拖慢数据库和日志写入性能 |
| JDK | OpenJDK 11 LTS(如 Temurin 11 或 Amazon Corretto 11) | RuoYi 官方基于 JDK 11 开发;不推荐 JDK 8(安全风险)或 JDK 17+(需确认兼容性,部分依赖可能未适配) |
| 其他必备软件 | • Nginx 1.18+(反向X_X & 前端静态服务) • MySQL 5.7+ 或 8.0+(建议 8.0.33+,注意 sql_mode 兼容性)• Redis 6.2+(缓存/登录校验/在线用户) • Node.js 16.x+(仅构建前端时需要,生产运行无需) |
建议各组件独立安装或 Docker 容器化(提升隔离性与可维护性) |
📌 关键注意事项
-
JVM 参数必须调优(不可用默认)
生产启动脚本(如start.sh)中务必设置合理堆内存:java -Xms2g -Xmx2g -XX:+UseG1GC -Dfile.encoding=UTF-8 -jar ruoyi-admin.jar💡 理由:4GB 总内存下,为 OS、MySQL、Redis 留出至少 1.5GB,JVM 堆建议 1.5–2GB。
-
MySQL 配置优化(尤其
innodb_buffer_pool_size)
若 MySQL 与后端同机,建议设为物理内存的 50%(如 4GB 机器 →1.5G),并关闭skip-name-resolve、调整max_connections=200。 -
Nginx 必须启用 Gzip + 缓存静态资源
RuoYi-Vue 前端打包后体积较大(~5–8MB),需配置:location / { root /www/ruoyi/dist; try_files $uri $uri/ /index.html; gzip_static on; # 预压缩 .gz 文件 expires 1h; } -
安全加固(生产必需)
- 关闭非必要端口(仅开放 80/443/22)
- 使用 Let’s Encrypt 配置 HTTPS(Nginx)
- MySQL 禁用 root 远程登录,创建专用账号(如
ruoyi@localhost) - Redis 绑定
127.0.0.1并设置密码(requirepass)
-
监控与日志
- 使用
journalctl -u ruoyi-admin或tail -f logs/ruoyi-admin.log - 建议接入 Prometheus + Grafana(监控 JVM、MySQL、系统指标)
- 使用
🚫 不推荐的“理论最低”(实际会踩坑)
| 配置 | 问题 |
|---|---|
| 1核1GB CentOS 7 | JVM 内存不足 → 启动失败或秒退;MySQL 启动失败;Nginx 无法加载 Vue 资源 |
| Ubuntu 23.10(非LTS) | 生命周期短(9个月),缺乏企业级支持,更新可能导致依赖冲突 |
| 无 Redis | 登录/验证码/在线用户功能失效(RuoYi 强依赖 Redis) |
| MySQL 5.6 | 不支持 utf8mb4_0900_as_cs 等新排序规则,初始化 SQL 可能报错 |
✅ 最佳实践建议(进阶)
- 生产环境强烈推荐容器化:使用 Docker Compose 管理
ruoyi-admin、mysql、redis、nginx,配置清晰、易于备份迁移。 - 前后端分离部署:前端部署到 CDN(如 Nginx + OSS/CDN),后端专注 API 服务,减轻服务器压力。
- 高可用场景:≥2台服务器 + Nginx 负载均衡 + MySQL 主从 + Redis Sentinel。
如需,我可为你提供:
- ✅ 完整的 CentOS 7 + RuoYi-Vue 生产部署脚本(含 JDK/MySQL/Redis/Nginx 一键安装)
- ✅ Docker Compose 生产版
docker-compose.yml(带健康检查、日志轮转) - ✅ Nginx + HTTPS + Gzip + 缓存优化配置模板
- ✅ RuoYi 后端 JVM 生产参数调优清单
欢迎随时告知你的具体场景(如预计并发用户数、是否已有数据库、是否上云等),我可以进一步定制化建议。
云计算HECS