RuoYi 是一个基于 Spring Boot 的开源后台管理系统,广泛用于企业级应用开发。在生产环境中部署 RuoYi 项目时,服务器的系统配置应根据实际的业务需求、并发访问量、数据量等因素进行合理配置。以下是一个 通用的生产环境服务器配置建议,适用于中小型项目部署:
🖥️ 一、服务器基础配置建议
1. 操作系统
- 推荐使用:Linux(CentOS 7+/Ubuntu 20.04+/Debian)
- 原因:性能稳定、安全性高、资源占用低,适合Java应用部署。
2. CPU
- 最低配置:2 核 CPU
- 推荐配置:4 核及以上(根据并发访问量)
- 高并发场景建议使用更高配置(如8核或以上)
3. 内存(RAM)
- 最低配置:4GB
- 推荐配置:8GB 及以上
- 若部署数据库、Redis、Nginx等在同一台服务器,建议 16GB 及以上
4. 硬盘
- 最低配置:50GB SSD
- 推荐配置:100GB SSD 及以上(建议使用SSD提升I/O性能)
- 若有大量日志、文件上传或数据库数据,建议更大容量
5. 带宽
- 最低配置:1~2Mbps
- 推荐配置:5Mbps 及以上(视用户访问量而定)
- 高并发场景建议使用更高带宽(如10Mbps以上)
⚙️ 二、软件环境配置建议
1. Java运行环境
- JDK版本:JDK 1.8 或 JDK 11(推荐)
- 推荐使用 OpenJDK 或 Oracle JDK
- 使用
java -version验证安装
2. 数据库
- MySQL 5.7+ / MariaDB 10+ / PostgreSQL
- 建议使用 MySQL 8.0+
- 数据库存储引擎建议使用 InnoDB
3. Web服务器
- Nginx 1.18+(用于反向X_X、负载均衡)
- 或者使用 Apache HTTP Server
4. 构建工具
- Maven 3.6+(用于项目打包)
5. 部署方式
- 推荐将 RuoYi 打包为 JAR 文件部署
- 可使用 systemd、supervisord 等工具管理 Java 进程
- 或通过 Docker 容器化部署
🌐 三、网络与安全配置
1. 防火墙
- 配置防火墙开放必要端口:
- 80/443(HTTP/HTTPS)
- 22(SSH)
- 3306(MySQL,建议仅内网访问)
- 自定义Java服务端口(如8080)
2. SSL证书
- 建议配置 HTTPS,使用 Let’s Encrypt 免费证书
3. 安全加固
- 关闭不必要的服务和端口
- 设置登录权限控制(SSH密钥登录)
- 定期更新系统和软件补丁
📈 四、高并发场景优化建议
| 项目 | 建议 |
|---|---|
| 数据库 | 主从复制、读写分离、定期备份 |
| 缓存 | 使用 Redis 做缓存,提升访问速度 |
| 负载均衡 | 使用 Nginx + 多台应用服务器 |
| 文件存储 | 使用 OSS 或 MinIO 等对象存储 |
| 日志监控 | 集成 ELK(Elasticsearch、Logstash、Kibana) |
| 容错机制 | 使用 Spring Cloud Gateway + Sentinel 做熔断降级 |
📌 五、典型部署方案(中小型项目)
| 组件 | 配置 |
|---|---|
| 操作系统 | CentOS 7.9 |
| CPU | 4 核 |
| 内存 | 8GB |
| 硬盘 | 100GB SSD |
| JDK | OpenJDK 11 |
| MySQL | 8.0 |
| Redis | 6.0 |
| Nginx | 1.20 |
| 部署方式 | JAR包 + Nginx反向X_X |
✅ 六、部署前的准备建议
代码打包
- 使用
mvn clean package打包为可运行的 JAR 文件
- 使用
数据库初始化
- 导入 ruoyi.sql 到 MySQL
配置文件修改
- 修改
application.yml中的数据库连接、Redis配置等
- 修改
启动脚本
- 编写启动脚本并配置 JVM 参数(如
-Xms、-Xmx)
- 编写启动脚本并配置 JVM 参数(如
日志管理
- 建议将日志输出到文件或日志中心
📚 七、相关资源推荐
- RuoYi 官网:https://ruoyi.vip/
- GitHub 地址:https://github.com/yangzongzhuan/RuoYi
- 部署文档:查看项目中的
docs目录或 Wiki 页面
如需根据你的具体业务场景(如并发量、用户量、功能模块)进行更详细的配置评估,也可以提供更多信息,我可以帮你进一步优化建议。
CDNK博客