若依(RuoYi)前后端分离项目基于 Spring Boot + Vue 构建,其核心依赖是 Java 应用服务器(如 Nginx、Tomcat/Jetty)、数据库(MySQL)以及 Redis。具体的推荐配置取决于并发量、业务复杂度以及部署模式(是否将后端、前端、数据库部署在同一台机器)。
以下是针对不同场景的服务器配置建议:
1. 开发环境 / 个人学习 / 极低并发(< 50 QPS)
适用于本地调试或只有少数人访问的内部测试系统。通常可以将所有组件(Nginx, Java, MySQL, Redis)部署在同一台轻量级服务器上。
- CPU: 2 核 (vCPU)
- 内存: 4 GB (推荐 8GB,因为 Java 堆内存 + MySQL + Redis 容易吃满 4G)
- 硬盘: 40 GB SSD (系统盘)
- 带宽: 3 Mbps – 5 Mbps
- 说明: 如果内存只有 4GB,需要严格限制 JVM 参数(如
-Xms512m -Xmx1024m),否则 MySQL 和 Redis 可能会因 OOM 崩溃。
2. 生产环境 / 中小型企业 / 中等并发 (50 – 500 QPS)
这是最常见的企业级应用场景。为了保证稳定性,建议将前端静态资源与后端 API分离,或者至少将数据库独立出来。
方案 A:单服务器部署(成本最低,维护简单)
适合初期项目,但需注意资源竞争。
- CPU: 4 核
- 内存: 8 GB (JVM 可分配 4-6G,留 2G 给 OS 和数据库缓存)
- 硬盘: 80 GB SSD (数据增长快,SSD 是必须的)
- 带宽: 5 Mbps – 10 Mbps
- 注意: 需优化 MySQL 的
innodb_buffer_pool_size,避免与 Java 争抢内存。
方案 B:三节点分离部署(推荐,高可用基础)
将 Nginx/前端、后端 API、数据库/Redis 拆分到不同实例,性能更稳。
- Web/Nginx 节点: 2 核 2G (仅做反向X_X和静态文件托管)
- Java 后端节点: 4 核 8G (运行 RuoYi-Cloud 或 RuoYi-Vue 后端)
- 数据库节点: 4 核 8G (MySQL + Redis,根据数据量可适当增加内存)
3. 高并发 / 大型项目 / 微服务架构 (RuoYi-Cloud)
如果你使用的是 RuoYi-Cloud 版本(微服务架构),由于包含注册中心 (Nacos)、网关、多个微服务模块,资源消耗会显著增加。
- CPU: 8 核 + (建议 16 核用于高并发)
- 内存: 16 GB – 32 GB (微服务启动后每个实例都需要独立堆空间,且 Nacos 本身也吃内存)
- 硬盘: 100 GB+ NVMe SSD
- 网络: 内网互通,网络带宽按需弹性扩展
- 架构建议:
- K8s/Docker 集群化: 必须使用容器化部署,利用水平扩展能力。
- 读写分离: 数据库开启主从复制。
- 缓存层: Redis 集群模式。
关键配置优化建议(无论何种配置)
为了在有限硬件下获得最佳性能,请务必关注以下调优项:
-
JVM 参数调整
不要使用默认参数。根据物理内存合理设置:# 示例:8G 内存服务器 -Xms4g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200如果是 4G 内存服务器,建议设置为
-Xms1g -Xmx2g,防止 OOM。 -
MySQL 优化
在my.cnf中调整innodb_buffer_pool_size:- 独享数据库服务器:设置为物理内存的 50%-70%。
- 混合部署(同机):设置为物理内存的 30%-40%,预留空间给 Java。
-
Nginx 配置
开启 Gzip 压缩,并配置浏览器缓存策略,减少后端压力。gzip on; gzip_types text/plain text/css application/json application/javascript; location ~ .(gif|jpg|png|js|css)$ { expires 7d; } -
操作系统层面
- 关闭不必要的服务。
- 调整
ulimit允许的文件打开数量(若依日志量大时容易报错 Too many open files)。 - 开启 Swap 分区作为应急缓冲(建议大小 = 物理内存的 1 倍,防止突发流量导致进程被杀)。
总结推荐
| 场景 | CPU | 内存 | 硬盘 | 架构建议 |
|---|---|---|---|---|
| 学习/演示 | 2 核 | 4 GB | 40 GB SSD | 单服务器全栈部署 |
| 中小型项目 | 4 核 | 8 GB | 80 GB SSD | 单服务器 (需调优) 或 前后端分离 |
| 企业生产 | 4 核 x2 | 8 GB x2 | 80 GB SSD x2 | 前后端分离 + 数据库独立 |
| 微服务/高并发 | 8 核+ | 16 GB+ | 100 GB+ NVMe | K8s 集群 + 读写分离 + Redis 集群 |
最稳妥的起步方案:购买一台 4 核 8G 内存 的云服务器,先尝试部署全套服务。如果发现 CPU 满载或内存不足,再考虑将数据库迁移至独立的云数据库实例(RDS),这是性价比最高的升级路径。
云服务器