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

在将 RuoYi-Vue(前后端分离版) 部署到生产环境时,其系统资源需求取决于实际业务规模、并发量、数据量及是否启用缓存/消息队列等扩展组件。但针对标准单机部署(前端 Nginx + 后端 Spring Boot + MySQL + Redis) 的最小可行生产环境,官方虽未严格定义,结合 Spring Boot、Vue、MySQL 8+ 和 Redis 的轻量级运行要求,以下是经过实践验证的最低推荐配置(适用于中小型企业内部管理系统、低并发(<200 并发用户)、日活 <1000 的场景):


最低推荐系统配置(生产环境)

组件 推荐最低配置 说明
操作系统 CentOS 7.6+(已 EOL,建议 CentOS Stream 8/9 或 Rocky Linux 8/9)
Ubuntu 20.04 LTS 或 22.04 LTS(强烈推荐)
Ubuntu 22.04 LTS 对 OpenJDK 17/21、Node.js 18+、MySQL 8.0 支持更完善,安全更新及时;CentOS 7 已于 2024-06-30 停止维护,不建议用于新生产环境
CPU ⚙️ 2 核(vCPU) Spring Boot 默认启动占用约 1~1.5 核;Nginx + MySQL + Redis 共享剩余资源。低于 2 核易出现响应延迟。
内存(RAM) 🧠 4 GB(必须)
⚠️ 3 GB 极限临界值(不推荐)
分配示例:
• Java(Spring Boot):-Xms1g -Xmx1.5g(推荐)
• MySQL:≥512MB(InnoDB buffer pool)
• Redis:≥256MB
• Nginx + OS:≥512MB
总和 ≥3.5GB,故 4GB 是安全底线
磁盘 💾 40 GB SSD(建议 NVMe) • 系统 + 运行时:10GB
• MySQL 数据库(含日志、备份):≥20GB(视数据增长)
• 日志(RuoYi 默认 logback,需定期轮转):≥5GB
• 前端静态资源 + 备份:≥5GB
→ HDD 性能不足,SSD 是硬性要求。
Java 版本 OpenJDK 17 LTS(推荐)或 21 LTS RuoYi-Vue 3.x(最新版)基于 Spring Boot 2.7+/3.x,不支持 JDK 8;JDK 17 是当前最稳定、兼容性最佳的选择(LTS)。
Node.js(仅构建前端用) 🌐 Node.js 18.x LTS(构建阶段) 生产环境无需运行 Node.js(前端构建后为静态文件,由 Nginx 托管),仅构建服务器需安装。
数据库 🗄️ MySQL 8.0.26+ 或 MariaDB 10.6+ RuoYi 官方适配 MySQL 8,注意开启 lower_case_table_names=1(Linux 下大小写敏感问题)。
Redis 🧵 Redis 6.2+(可选但强烈推荐) 用于验证码、在线用户、定时任务锁等;若不用 Redis,需注释/禁用相关模块(不推荐)。

⚠️ 关键注意事项(避坑指南)

  1. 不要用 CentOS 7 部署新生产环境
    → 已停止维护(2024-06-30),无安全补丁,且默认 OpenSSL、glibc 版本过旧,可能与新版 JDK/MySQL 不兼容。

  2. 内存是最大瓶颈
    → 若仅 2GB 内存,Java 应用极易 OOM(尤其开启 Actuator、Druid 监控、大量日志时)。4GB 是生产可用底线,8GB 更稳妥。

  3. Swap 分区建议关闭(或设为 0)
    → Spring Boot 应用对 swap 敏感,可能导致 GC 延迟飙升。使用 swapoff -a 并注释 /etc/fstab 中 swap 行。

  4. 防火墙与 SELinux
    → Ubuntu:ufw enable(开放 80/443/8080)
    → Rocky/AlmaLinux:firewalld 开放端口,SELinux 建议设为 permissivedisabled(避免权限拦截,如 /var/lib/mysql 访问异常)。

  5. 生产环境必须配置反向X_X(Nginx)
    → 前端静态资源走 Nginx(gzip、缓存、HTTPS),后端 API X_X至 http://localhost:8080禁止直接暴露 Spring Boot 内置 Tomcat 端口

  6. 日志与监控
    → 启用 logback-spring.xml 的滚动策略(按天/大小归档)
    → 建议集成 Prometheus + Grafana(通过 Spring Boot Actuator)监控 JVM、HTTP QPS、DB 连接池。


📈 扩展建议(根据业务增长升级)

场景 推荐升级配置
中等并发(500~1000 用户) 4核 / 8GB RAM / 100GB SSD
高可用生产(主从+读写分离) MySQL 主从 + Redis 哨兵 + Nginx 负载均衡(多节点)
微服务化(RuoYi Cloud) 至少 8GB RAM + Kubernetes 集群(非单机)

✅ 快速验证命令(部署前检查)

# 检查系统版本(Ubuntu 示例)
lsb_release -a

# 检查内存 & Swap
free -h && swapon --show

# 检查可用磁盘空间
df -h / && df -h /var/lib/mysql

# 检查 Java 版本(需 JDK 17+)
java -version

# 检查 MySQL/Redis 是否可达(本地)
mysql --version && redis-cli --version

如需,我可为你提供:

  • ✅ Ubuntu 22.04 一键部署脚本(含 JDK17 + MySQL8 + Redis7 + Nginx + RuoYi 后端/前端)
  • ✅ Nginx 生产配置模板(HTTPS + Gzip + 缓存 + 反向X_X)
  • ✅ Spring Boot JVM 参数优化建议(G1GC + Metaspace)
  • ✅ RuoYi 生产环境 application-prod.yml 安全配置清单

欢迎随时告知你的具体部署场景(如是否用 Docker?是否需要 HTTPS?是否已有数据库?),我可以为你定制方案 👇

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