Ruoyi 前后端分离版(即 RuoYi-Vue 或 RuoYi-Cloud)在 Linux 服务器上的资源需求取决于部署模式、并发量、功能模块使用情况及是否启用监控/日志等附加组件。以下是基于官方实践和生产经验的合理建议(以最小可行生产环境为基准):
✅ 推荐最低配置(轻量级生产/测试环境)
| 资源 | 最低要求 | 说明 |
|---|---|---|
| CPU | 2 核(vCPU) | 后端(Spring Boot)+ 前端(Nginx 静态服务)+ MySQL + Redis 至少需 2 核保障基础响应;单核易在高并发或GC时卡顿 |
| 内存 | 4 GB RAM | ⚠️ 这是关键底线: • Spring Boot 后端(JVM)建议 -Xms1g -Xmx1.5g• MySQL(默认配置)约占用 500MB–1GB • Redis 约 200–500MB • Nginx + Node.js 构建/运行前端静态文件(或仅 Nginx 服务)约 200MB • 系统预留及缓冲约 500MB |
🔍 实测验证:在 4GB 内存的阿里云 ECS(CentOS 7.9 / Ubuntu 22.04)上,部署
RuoYi-Vue(后端 Spring Boot + MySQL 8.0 + Redis 7 + Nginx)可稳定支撑 50–100 并发用户(常规管理后台操作,非高频报表导出/大文件上传)。
📈 推荐生产环境配置(中等规模业务)
| 资源 | 推荐配置 | 说明 |
|---|---|---|
| CPU | 4 核 | 支持更高并发、更平滑的 GC、异步任务(如定时任务、Excel 导出)、日志收集(Logback + ELK 可选) |
| 内存 | 8 GB RAM | • 后端 JVM:-Xms2g -Xmx3g(提升吞吐与稳定性)• MySQL:可调优 innodb_buffer_pool_size=3–4G• Redis: maxmemory 1G• 更充裕的系统缓存与监控空间(如 Prometheus + Grafana) |
⚠️ 注意事项 & 优化建议
-
避免“裸跑”小内存(≤2GB)
若强行在 2GB 服务器部署(如某些学生机),极易因 OOM(内存溢出)导致 Java 进程被 kill,或 MySQL 因内存不足频繁崩溃。不推荐用于任何生产场景。 -
数据库是内存大户
Ruoyi 默认依赖 MySQL + Redis。若使用云数据库(如阿里云 RDS、腾讯云 CDB),可将 MySQL/Redis 拆离到独立实例,本地服务器只需承载后端 + 前端 + Nginx,此时 2核4G 即可满足(但需网络稳定)。 -
前端部署方式影响资源
- ✅ 推荐:
npm run build生成静态文件 → 用 Nginx 托管(极轻量,内存占用 <100MB) - ❌ 不推荐:在服务器上长期运行
npm run serve(开发模式,内存泄漏风险高,且无生产级 HTTP 优化)
- ✅ 推荐:
-
JVM 参数必须调优
在application.yml同级目录的启动脚本中设置合理堆内存:java -Xms1g -Xmx1.5g -XX:+UseG1GC -jar ruoyi-admin.jar(避免默认
-Xmx过小导致频繁 Full GC,或过大引发长时间停顿) -
其他组件按需启用
- 若启用
RuoYi-Cloud(微服务版):需额外部署 Nacos/Eureka、Gateway、Sentinel 等,建议 ≥4核8G,或拆分至多节点。 - 若启用 Quartz 定时任务 + 大量 Job:增加 CPU 和内存余量。
- 日志级别设为
INFO(避免DEBUG级别刷爆磁盘和 I/O)。
- 若启用
✅ 总结:一句话建议
正式上线请至少选择 2核4GB 的 Linux 服务器(如阿里云共享型s6/e-cs、腾讯云S5);追求稳定与扩展性,优先选用 4核8GB;所有环境务必关闭 swap(或严格限制),并配置 JVM 堆内存上限。
如需具体部署脚本、JVM 调优参数、Nginx 配置模板或 Docker Compose 示例,我可为你立即提供 👇
是否需要?
CLOUD技术博