奋斗
努力

Ruoyi-vue项目上线生产环境,CentOS或Ubuntu最低系统配置推荐是多少?

云计算

在将 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(已停止维护)

📌 关键生产优化建议(比硬件更重要!)

  1. JVM 参数调优(示例,根据内存调整):

    -Xms1024m -Xmx1024m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError
  2. 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;
  3. 日志管理

    • 使用 logback-spring.xml 配置滚动策略(如 TimeBasedRollingPolicy
    • 日志目录挂载独立磁盘或配置 logrotate
  4. 安全加固

    • 关闭 SSH 密码登录,改用密钥
    • 防火墙(firewalld / ufw)仅开放 80/443/22(限制 IP)
    • 数据库绑定 127.0.0.1 或内网地址,禁用 root 远程登录
  5. 监控与告警(低成本方案):

    • htop / nmon + Prometheus + Grafana(监控 JVM、Nginx、MySQL)
    • supervisorsystemd 管理进程(确保自动重启)

🚫 不推荐的“最低”陷阱(常见翻车点)

  • ❌ 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 吗? 😊

未经允许不得转载:云服务器 » Ruoyi-vue项目上线生产环境,CentOS或Ubuntu最低系统配置推荐是多少?