Ruoyi前后端分离版部署到Linux服务器需要多少内存和CPU?

Ruoyi 前后端分离版(即 RuoYi-VueRuoYi-Cloud)在 Linux 服务器上的资源需求取决于部署模式、并发量、功能模块使用情况以及是否启用监控/日志等附加服务。以下是分场景的合理建议(基于生产实践和官方文档):


✅ 一、最低可行配置(仅开发测试 / 轻量演示)

资源 推荐配置 说明
CPU 2 核(vCPU) 满足 Nginx + Vue 前端静态服务 + Spring Boot 后端 + MySQL(单机)基本运行
内存 4 GB RAM ⚠️ 实际可用约 3.5GB;Spring Boot 默认堆内存 -Xms512m -Xmx1024m,MySQL 约需 512MB~1GB,Nginx/Node.js 占用较小

✅ 可运行:单库、无 Redis、无 Sentinel、无 Elasticsearch、低并发(<50 用户在线,<10 TPS)


✅ 二、推荐生产环境配置(中小型企业/正式上线)

资源 推荐配置 说明
CPU 4 核 支持多线程处理请求、定时任务、文件导出等
内存 8 GB RAM 强烈推荐起点
• Spring Boot(-Xms1g -Xmx2g
• MySQL(InnoDB buffer pool ≥ 2GB)
• Redis(≥ 512MB)
• Nginx + Node.js 构建/X_X(少量)
• 预留系统缓存与 JVM 元空间、GC 开销

✅ 支持:中等并发(200~500 在线用户)、常规报表、定时任务、Redis 缓存、基础日志(logback 文件输出)、简单监控(如 Actuator)。


✅ 三、高可用/集群/增强功能配置(中大型项目)

资源 推荐配置 说明
CPU 8 核或以上 支持多实例部署(如网关+认证中心+系统模块+文件服务等拆分)
内存 16 GB RAM 起 • 各微服务按需分配(如 gateway: 1G, auth: 1G, system: 2G)
• Redis(2~4GB)、MySQL(4~6GB buffer pool)
• ELK 日志栈 / Prometheus + Grafana / SkyWalking(额外 2~4GB)

💡 若使用 RuoYi-Cloud(Spring Cloud 版),建议至少 2 台服务器或 Docker/K8s 编排,避免单点瓶颈。


🔧 补充关键说明:

  1. 数据库影响巨大
    Ruoyi 的性能瓶颈常在 MySQL(尤其权限校验、数据字典、报表查询)。建议:

    • 使用独立 MySQL 服务器(非共用同一台),或至少 4GB 内存专供 MySQL。
    • 启用连接池(HikariCP)、索引优化、慢 SQL 监控。
  2. 前端构建与部署

    • Vue 项目 npm run build 构建阶段需临时内存(建议构建机 ≥ 4GB),但部署后仅需 Nginx 静态托管,内存占用极低(<100MB)
  3. JVM 参数调优示例(8GB 机器)

    # application-start.sh 中添加
    JAVA_OPTS="-Xms1536m -Xmx1536m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC"
  4. 官方参考
    RuoYi 官方 GitHub Wiki 和 Gitee 文档未强制指定硬件,但其 Docker Compose 示例 默认分配 mem_limit: 1.5g per service,印证单服务 1.5~2GB 是合理区间。


🚫 不推荐的配置(易出问题):

  • ❌ 1核2GB:OOM 风险极高(尤其 MySQL + Spring Boot 同时启动)
  • ❌ 2核4GB 运行 RuoYi-Cloud + MySQL + Redis + Nacos:必然频繁 GC、响应延迟、502/超时

✅ 总结建议(一句话):

生产环境起步推荐:4核 CPU + 8GB 内存(Linux x64),并确保 MySQL/Redis 独立部署或合理分配资源;若预算有限,可先用 4核8GB 单机部署 RuoYi-Vue(前后端分离标准版),后续按需水平扩展。

如需,我可为你提供:

  • 完整的 Linux 一键部署脚本(含 JDK/Nginx/MySQL/Redis/Spring Boot)
  • JVM 参数 & MySQL 优化配置模板
  • Docker Compose 生产级编排文件(RuoYi-Vue 或 Cloud)

欢迎继续提问 😊

未经允许不得转载:CLOUD云枢 » Ruoyi前后端分离版部署到Linux服务器需要多少内存和CPU?