Ruoyi 前后端分离版(通常指 RuoYi-Vue 或 RuoYi-Cloud)在 Linux 服务器上的资源需求取决于部署规模、并发量、功能模块启用情况及是否启用监控/日志等附加组件。以下是基于官方推荐和生产实践的分场景参考建议:
✅ 一、最小可行部署(开发/测试/低流量演示环境)
| 组件 | 推荐配置 | 说明 |
|---|---|---|
| CPU | 2 核(vCPU) | 满足 Java 后端(Spring Boot)+ Node.js 前端构建/静态服务 + MySQL/Nginx 基本运行 |
| 内存 | 4 GB RAM(最低要求) | Spring Boot 默认堆内存 -Xms512m -Xmx1024m,MySQL(512MB~1GB),Nginx + Node.js 静态服务约 300–500MB,系统预留 |
| 磁盘 | ≥20 GB SSD(推荐) | 系统 + JDK + MySQL + Ruoyi 代码/包 + 日志 |
✅ 可运行:单机部署(Nginx + Spring Boot + MySQL + Redis 可选),支持 < 50 并发用户(管理后台类操作)。
✅ 二、中小型生产环境(企业内部系统、百人级用户)
| 组件 | 推荐配置 | 说明 |
|---|---|---|
| CPU | 4 核(或 2 核高性能) | 支持稳定响应,应对定时任务、文件导出、简单报表等 |
| 内存 | 8 GB RAM(强烈推荐) | Spring Boot 堆设为 -Xms1g -Xmx2g;MySQL 缓冲池 1–1.5G;Redis(若启用)512MB;Nginx + 前端静态资源约 300MB;系统与 JVM 元空间/直接内存余量充足 |
| 其他建议 | • 使用独立 Redis(提升登录/缓存性能) • MySQL 单独部署或至少调优(如 innodb_buffer_pool_size=1.5G)• Nginx 反向X_X + gzip 静态压缩 |
✅ 典型表现:支持 200–500 并发(非高IO场景),页面平均响应 < 800ms,支持角色权限、流程审批、基础报表等全功能。
⚠️ 三、注意事项与优化建议
-
JVM 参数必须调优
默认java -jar启动不设参数易 OOM。生产建议:java -Xms1g -Xmx2g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Dfile.encoding=UTF-8 -jar ruoyi-admin.jar -
MySQL 内存占用不可忽视
- 默认配置下 MySQL 可能占用 >1GB;务必修改
/etc/my.cnf:[mysqld] innodb_buffer_pool_size = 1G # 内存 ≥4G 时设为 50%~70% key_buffer_size = 16M max_connections = 200
- 默认配置下 MySQL 可能占用 >1GB;务必修改
-
前端部署方式影响资源
- ✅ 推荐:
npm run build生成dist/目录,用 Nginx 托管静态文件(轻量、零 Node.js 运行时开销) - ❌ 不推荐:用
npm run serve或pm2 start server.js长期运行前端(Node.js 持续占 CPU/内存,无必要)
- ✅ 推荐:
-
Redis 是否必需?
- 若启用在线用户、验证码、缓存菜单/字典等 → 建议部署 Redis(≥512MB 内存)
- 若仅做登录校验(JWT 无状态),可暂时不用 Redis(但功能受限,如无法踢出用户)
-
日志与监控
- ELK/Prometheus/Grafana 等会额外增加 1–2GB 内存,不建议在 4GB 机器上叠加部署。
🚫 四、不推荐的配置(易故障)
| 配置 | 问题 |
|---|---|
| 1核1GB | JVM 启动失败或频繁 Full GC;MySQL 启动即 OOM;Nginx 反向X_X不稳定 |
| 2核2GB | 极限压测下可能卡顿,日志滚动/定时任务易超时,无扩展余量 |
✅ 总结:推荐选择
| 场景 | 推荐配置 | 备注 |
|---|---|---|
| 学习/本地测试 | 2核4GB(云服务器入门型) | 足够跑通全流程 |
| 企业内网系统 | 4核8GB(首选) | 平衡成本与稳定性,支持未来扩展 |
| 高并发/多租户 | 4核16GB+ 或容器化集群 | 建议拆分为 ruoyi-admin、ruoyi-system、gateway 等微服务(RuoYi-Cloud) |
💡 附:快速验证命令
部署后检查关键进程内存:ps aux --sort=-%mem | head -10 # 查看内存占用TOP10 free -h # 总内存使用率 jstat -gc <pid> 1s 5 # 查看Java GC状态(避免频繁FGC)
如需,我可为你提供:
- 完整的 CentOS/Ubuntu 部署脚本(含 JDK/Maven/MySQL/Nginx/Redis 一键安装)
- Ruoyi 生产级 JVM + MySQL + Nginx 配置模板
- Docker Compose 单机部署方案(含健康检查)
欢迎继续提问 👍
CDNK博客