在将 RuoYi-Vue(前后端分离版) 部署到生产环境时,其系统资源需求取决于实际业务规模(如并发用户数、数据量、是否启用缓存/搜索/定时任务等),但作为通用推荐,以下是最低可行且具备基本稳定性和可维护性的生产配置建议(适用于 CentOS 7/8/Stream 或 Ubuntu 20.04/22.04 LTS):
✅ 推荐最低生产环境配置(单机部署典型场景)
| 组件 | 最低配置 | 推荐配置(更稳妥) | 说明 |
|---|---|---|---|
| CPU | 2 核 | 4 核 | 后端(Spring Boot)较吃 CPU;Vue 前端构建和 Nginx 静态服务相对轻量;高并发或复杂业务建议 ≥4 核 |
| 内存(RAM) | 4 GB | 8 GB(强烈推荐) | • Spring Boot 默认堆内存建议 -Xms512m -Xmx1024m,但 RuoYi 含 MyBatis-Plus、Redis、Quartz、Shiro/Spring Security 等,实际运行需 1.5–2.5 GB• Nginx + Redis(默认配置)约需 300–500 MB • OS 及其他进程预留 ≥1 GB → 4 GB 极限可用,但无缓冲余量,易 OOM;8 GB 是生产安全线 |
| 磁盘 | 40 GB SSD | 80–100 GB SSD | • OS + JDK + Node.js + Maven + MySQL/PostgreSQL + 日志 + 备份空间 • RuoYi 日志(logback)默认按日滚动,长期运行需预留空间 • 必须使用 SSD(HDD 显著拖慢数据库与 JVM GC) |
| 网络 | 100 Mbps 公网带宽 | ≥1 Gbps 内网 / ≥10 Mbps 公网 | 前端静态资源(Vue 打包后通常 <5 MB)对带宽要求不高;瓶颈多在后端 API 或数据库交互 |
🐧 操作系统版本建议(长期支持 & 安全更新)
| 系统 | 推荐版本 | 理由 |
|---|---|---|
| CentOS | ❌ 不再推荐(CentOS 8 已 EOL,CentOS 7 2024-06 EOL) ✅ Rocky Linux 8/9 或 AlmaLinux 8/9 |
兼容 RHEL 生态,100% 二进制兼容,长期支持(Rocky 9 支持至 2032),社区活跃,RuoYi 社区广泛验证 |
| Ubuntu | ✅ 22.04 LTS(Jammy) | 当前主流 LTS(支持至 2032),软件源丰富,Java/Node.js/Nginx 版本新且稳定,Docker/K8s 生态最佳 |
⚠️ 注意:避免使用 Ubuntu 23.x / CentOS Stream 9+ 等非LTS或激进版本用于核心生产环境。
🔧 必备软件版本参考(生产兼容性验证)
| 软件 | 推荐版本 | 备注 |
|---|---|---|
| JDK | OpenJDK 11 或 17 LTS | RuoYi-Vue 3.x 官方基于 JDK 11+;JDK 17 性能更优(需确认 Spring Boot 版本兼容,如 2.7.x 支持 JDK 17,3.x 原生支持) |
| Node.js | 16.x 或 18.x LTS | Vue CLI 5.x 推荐 Node 16+;避免使用 20.x(部分插件兼容性风险) |
| Nginx | 1.20+ | 用于反向X_X + 前端静态资源托管;启用 gzip、缓存头、HTTPS(Let’s Encrypt) |
| Redis | 7.x(或 6.2+) | RuoYi 使用 Redis 缓存菜单、在线用户、验证码等;建议独立部署(不与 MySQL 同机若负载高) |
| 数据库 | MySQL 8.0+ 或 PostgreSQL 13+ | MySQL 8.0 强烈推荐(支持 JSON、性能优化、安全增强);避免 MySQL 5.7(已停止维护) |
📌 关键生产优化建议(比硬件更重要!)
-
JVM 参数调优(示例,根据内存调整):
-Xms1024m -Xmx1024m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -
Nginx 配置要点:
location / { try_files $uri $uri/ /index.html; }(Vue Router history 模式)- 启用
gzip on;和静态资源expires 1y; - 反向X_X后端时设置
proxy_set_header X-Forwarded-For $remote_addr;
-
日志管理:
- 使用
logback-spring.xml配置滚动策略(如TimeBasedRollingPolicy) - 日志目录挂载独立磁盘或配置 logrotate
- 使用
-
安全加固:
- 关闭 SSH 密码登录,改用密钥
- 防火墙(firewalld / ufw)仅开放 80/443/22(限制 IP)
- 数据库绑定
127.0.0.1或内网地址,禁用 root 远程登录
-
监控与告警(低成本方案):
htop/nmon+Prometheus + Grafana(监控 JVM、Nginx、MySQL)supervisor或systemd管理进程(确保自动重启)
🚫 不推荐的“最低”陷阱(常见翻车点)
- ❌ 2核2GB VPS(如腾讯云轻量应用服务器基础版)→ 极易因内存不足导致频繁 Full GC 或 OOM
- ❌ 使用 MySQL 5.6 或 JDK 8(安全漏洞多,RuoYi 新版已不兼容)
- ❌ 前后端同机部署 + MySQL 同机 → 单点故障 + 资源争抢
- ❌ 未配置 HTTPS → 浏览器标记“不安全”,影响登录/Token 安全性
✅ 总结:一句话推荐配置
生产环境起步推荐:Rocky Linux 9 或 Ubuntu 22.04 LTS + 4核8GB SSD + 100GB 磁盘 + OpenJDK 17 + MySQL 8.0 + Redis 7 + Nginx 1.22
(此配置可支撑 100–500 并发用户中等业务,支持后续平滑扩容)
如需进一步细化(如 Docker/K8s 部署方案、集群化架构、压测建议),欢迎补充您的具体场景(如预期 DAU、是否含文件上传/报表导出/定时任务等)。
需要我帮你生成一份完整的 systemd 启动脚本、Nginx 配置模板或 JVM 优化 checklist 吗? 😊
云服务器