Ruoyi-Vue 是一个前后端分离的 Java + Vue 项目(典型架构:后端 Spring Boot + MySQL/Oracle + Redis,前端 Vue CLI 构建为静态资源,通常由 Nginx 托管)。其生产环境系统配置需分别考虑 后端服务(Java)、前端静态资源(Nginx)、数据库(MySQL/Redis) 和 整体并发承载能力。
以下是针对 中小规模企业内部管理系统或轻量级 SaaS 应用(日活用户 < 1000,QPS < 50)的最低推荐配置,兼顾稳定性与可维护性:
✅ 推荐最低生产环境配置(单机部署场景)
| 组件 | 最低推荐配置(CentOS 7+/Ubuntu 20.04+) | 说明 |
|---|---|---|
| 操作系统 | ✅ CentOS 7.9 / CentOS 8.5+(已 EOL 建议 8.5 或 9.x) ✅ Ubuntu 20.04 LTS / 22.04 LTS(更推荐,长期支持、Java/Node/Nginx 兼容性好) |
避免使用 CentOS 6 或 Ubuntu 18.04(已停止主流支持);需启用 systemd、firewalld/ufw |
| CPU | ⚙️ 2 核(vCPU) | Spring Boot 默认启动占用约 1~1.5 核;预留余量应对 GC、定时任务、日志写入等 |
| 内存 | 🧠 4 GB RAM(强烈建议 ≥ 6 GB) | • Java 后端(-Xms1g -Xmx2g)需 2~3GB • Nginx + Redis(默认配置)约 300~500MB • OS 及其他进程需 ≥ 500MB ⚠️ 若仅配 2GB,极易因 OOM 被 Linux killer 杀掉 Java 进程! |
| 磁盘 | 💾 40 GB SSD(系统盘) | • OS + JDK + Ruoyi 后端 Jar + Nginx + Redis + 日志(建议 /var/log/ruoyi 单独挂载)• MySQL 数据库建议单独挂载数据盘(如 /data/mysql),最小 20GB 起(视业务数据量) |
| JDK | ☕ OpenJDK 11 LTS(如 Temurin 11.0.22+ 或 Amazon Corretto 11) | Ruoyi-vue 3.x/4.x 官方要求 JDK 11+;不推荐 JDK 8(已过时且存在安全风险);避免 Oracle JDK 商业授权问题 |
| 数据库 | 🗃️ MySQL 5.7.30+ 或 8.0.20+(推荐 8.0) 或 PostgreSQL 12+(若选用) |
内存中需预留足够 innodb_buffer_pool_size(建议设为物理内存 50%~70%,但单机部署时勿超 2GB) |
| Redis | 🧠 Redis 6.2+(内存 256MB~512MB) | 用于验证码、在线用户、缓存等;可用 redis.conf 限制 maxmemory 256mb |
📌 关键注意事项(避坑指南)
-
严禁在 2GB 内存机器上部署生产环境!
→ Java 进程 + MySQL + Redis + Nginx + OS 基本就占满,OOM 风险极高。4GB 是底线,6GB 更稳妥。 -
OS 版本选择优先级:
✅ Ubuntu 22.04 LTS(推荐) → 社区活跃、软件源新、Docker/K8s 支持好、安全更新及时
✅ CentOS Stream 9 或 Rocky Linux 9 → 替代 CentOS 的稳定选择(避免用已 EOL 的 CentOS 7/8)
❌ CentOS 6 / Ubuntu 16.04 / Debian 9 等老旧系统(无安全更新,组件兼容差) -
前端部署方式:
- Ruoyi-Vue 前端构建后是纯静态文件(
dist/),必须通过 Nginx/Apache 托管,不可直接用npm run serve上线! - Nginx 最小配置示例(
/etc/nginx/conf.d/ruoyi.conf):server { listen 80; server_name your-domain.com; root /www/ruoyi-ui/dist; index index.html; location / { try_files $uri $uri/ /index.html; } location /prod-api/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
- Ruoyi-Vue 前端构建后是纯静态文件(
-
后端 JVM 参数建议(
application.yml同级添加ruoyi.sh启动脚本):nohup java -Xms1g -Xmx2g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Dspring.profiles.active=prod -jar ruoyi-admin.jar > /dev/null 2>&1 & -
安全加固必做项:
- 关闭 SSH 密码登录,改用密钥认证
- 使用
ufw(Ubuntu)或firewalld(CentOS)仅开放80/443/22(或自定义管理端口) - MySQL/Redis 绑定
127.0.0.1,禁用远程 root 访问 - Ruoyi 后台默认账号
admin/admin123上线前必须修改!
📈 扩展建议(按业务增长演进)
| 场景 | 推荐升级方向 |
|---|---|
| 用户量 > 2000 / QPS > 100 | 拆分部署:Nginx + 后端(2核4G×2) + MySQL主从 + Redis哨兵 |
| 高可用要求 | Nginx 集群 + Spring Cloud Alibaba(Ruoyi-cloud 版) + MySQL MHA |
| 容器化 | Docker + docker-compose(官方提供 docker-compose.yml 示例) |
| 云环境 | 阿里云 ECS(ecs.c6.large)、腾讯云 CVM(S5.SMALL2)均满足最低要求 |
✅ 总结一句话推荐:
生产环境首选 Ubuntu 22.04 LTS + 2核4GB内存 + 40GB SSD + OpenJDK 11 + MySQL 8.0 + Redis 7.x,并严格遵循安全配置规范。低于此配置仅建议用于开发测试,切勿上线!
如需,我可为你提供:
- 完整的 Ubuntu 22.04 一键部署脚本(含 JDK/MySQL/Nginx/Ruoyi 安装)
- Ruoyi 生产环境
application-prod.yml安全配置模板 - Nginx + HTTPS(Let’s Encrypt)自动配置方案
欢迎继续提问 👇
云知识CLOUD