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

在将 RuoYi-Vue(前后端分离版本,即 ruoyi-vueruoyi-vue-pro)部署到生产环境时,其系统资源需求取决于实际业务规模、并发量、数据量及是否启用额外功能(如定时任务、文件上传、Redis缓存、Elasticsearch等)。但针对标准中小型企业级应用的轻量生产部署,以下是经过实践验证的最低推荐配置(兼顾稳定性与可维护性):


✅ 推荐最低生产环境配置(单机部署,中低负载)

项目 推荐最低配置 说明
操作系统 CentOS 7.6+(x86_64)Ubuntu 20.04 LTS / 22.04 LTS 官方长期支持、生态稳定;避免使用 CentOS 8(已 EOL)或 Ubuntu 非LTS版本;建议选择 CentOS Stream 8/9Rocky Linux 8/9 / AlmaLinux 8/9(CentOS替代方案)作为更可持续选择
CPU 2 核(vCPU) Spring Boot 后端较吃 CPU;1核勉强启动但无法应对并发请求(如登录、查询),易触发 Full GC 或响应延迟
内存(RAM) 4 GB强烈建议 ≥6 GB ⚠️ 实测:RuoYi 后端(Spring Boot + MyBatis + Redis + Quartz)+ 前端 Nginx + MySQL(本地)在空载时约占用 1.2–1.8 GB;<4GB 易因 JVM 堆内存不足(默认 -Xms512m -Xmx1024m)导致 OOM 或频繁 GC;6GB 是安全起点
磁盘 ≥40 GB SSD(建议 NVMe) 系统 + JDK + Maven/Node.js(构建用)+ MySQL 数据 + 日志 + 备份;HDD 可能显著拖慢数据库和日志写入性能
JDK OpenJDK 11 LTS(如 Temurin 11 或 Amazon Corretto 11) RuoYi 官方基于 JDK 11 开发;不推荐 JDK 8(安全风险)或 JDK 17+(需确认兼容性,部分依赖可能未适配)
其他必备软件 • Nginx 1.18+(反向X_X & 前端静态服务)
• MySQL 5.7+ 或 8.0+(建议 8.0.33+,注意 sql_mode 兼容性)
• Redis 6.2+(缓存/登录校验/在线用户)
• Node.js 16.x+(仅构建前端时需要,生产运行无需)
建议各组件独立安装或 Docker 容器化(提升隔离性与可维护性)

📌 关键注意事项

  1. JVM 参数必须调优(不可用默认)
    生产启动脚本(如 start.sh)中务必设置合理堆内存:

    java -Xms2g -Xmx2g -XX:+UseG1GC -Dfile.encoding=UTF-8 -jar ruoyi-admin.jar

    💡 理由:4GB 总内存下,为 OS、MySQL、Redis 留出至少 1.5GB,JVM 堆建议 1.5–2GB。

  2. MySQL 配置优化(尤其 innodb_buffer_pool_size
    若 MySQL 与后端同机,建议设为物理内存的 50%(如 4GB 机器 → 1.5G),并关闭 skip-name-resolve、调整 max_connections=200

  3. Nginx 必须启用 Gzip + 缓存静态资源
    RuoYi-Vue 前端打包后体积较大(~5–8MB),需配置:

    location / {
     root /www/ruoyi/dist;
     try_files $uri $uri/ /index.html;
     gzip_static on;  # 预压缩 .gz 文件
     expires 1h;
    }
  4. 安全加固(生产必需)

    • 关闭非必要端口(仅开放 80/443/22)
    • 使用 Let’s Encrypt 配置 HTTPS(Nginx)
    • MySQL 禁用 root 远程登录,创建专用账号(如 ruoyi@localhost
    • Redis 绑定 127.0.0.1 并设置密码(requirepass
  5. 监控与日志

    • 使用 journalctl -u ruoyi-admintail -f logs/ruoyi-admin.log
    • 建议接入 Prometheus + Grafana(监控 JVM、MySQL、系统指标)

🚫 不推荐的“理论最低”(实际会踩坑)

配置 问题
1核1GB CentOS 7 JVM 内存不足 → 启动失败或秒退;MySQL 启动失败;Nginx 无法加载 Vue 资源
Ubuntu 23.10(非LTS) 生命周期短(9个月),缺乏企业级支持,更新可能导致依赖冲突
无 Redis 登录/验证码/在线用户功能失效(RuoYi 强依赖 Redis)
MySQL 5.6 不支持 utf8mb4_0900_as_cs 等新排序规则,初始化 SQL 可能报错

✅ 最佳实践建议(进阶)

  • 生产环境强烈推荐容器化:使用 Docker Compose 管理 ruoyi-adminmysqlredisnginx,配置清晰、易于备份迁移。
  • 前后端分离部署:前端部署到 CDN(如 Nginx + OSS/CDN),后端专注 API 服务,减轻服务器压力。
  • 高可用场景:≥2台服务器 + Nginx 负载均衡 + MySQL 主从 + Redis Sentinel。

如需,我可为你提供:

  • ✅ 完整的 CentOS 7 + RuoYi-Vue 生产部署脚本(含 JDK/MySQL/Redis/Nginx 一键安装)
  • ✅ Docker Compose 生产版 docker-compose.yml(带健康检查、日志轮转)
  • ✅ Nginx + HTTPS + Gzip + 缓存优化配置模板
  • ✅ RuoYi 后端 JVM 生产参数调优清单

欢迎随时告知你的具体场景(如预计并发用户数、是否已有数据库、是否上云等),我可以进一步定制化建议。

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