在 Linux 服务器上部署若依(RuoYi)前后端分离版,主要需要满足后端运行环境、前端构建产物以及基础系统资源三方面的配置要求。以下是详细的配置指南:
1. 后端环境配置(Spring Boot + MyBatis Plus)
若依后端基于 Spring Boot 开发,是运行的核心部分。
- JDK 版本:
- 推荐:JDK 1.8 (Java 8) 或 JDK 17(取决于你使用的若依具体版本,旧版多配 1.8,新版如 RuoYi-Vue-Plus 可能支持 17+)。
- 检查命令:
java -version - 安装示例:
sudo apt install openjdk-8-jdk(Ubuntu) 或yum install java-1.8.0-openjdk-devel(CentOS)。
- 数据库 (MySQL):
- 版本:MySQL 5.7 或 MySQL 8.0(需与项目配置文件
application.yml中的驱动版本匹配)。 - 字符集:必须设置为
utf8mb4,排序规则为utf8mb4_general_ci或utf8mb4_0900_ai_ci,否则会出现中文乱码或特殊字符报错。 - 初始化:需导入若依提供的 SQL 脚本 (
ruoyi.sql)。
- 版本:MySQL 5.7 或 MySQL 8.0(需与项目配置文件
- Redis(可选但强烈推荐):
- 若依默认开启 Redis 缓存以优化性能(验证码、Token 存储等)。
- 版本:Redis 5.0+。
- 注意:如果服务器未安装 Redis,需在
application.yml中注释掉 Redis 相关配置,否则启动会报错。
- 其他依赖:
- 确保服务器防火墙开放了后端端口(默认
8080)。 - 确保安装了
git(用于拉取代码)。
- 确保服务器防火墙开放了后端端口(默认
2. 前端环境配置(Vue.js)
由于是前后端分离,前端不需要在 Linux 上安装 Node.js 进行开发,而是直接部署编译后的静态文件。
- 构建步骤:
- 在本地开发机(Windows/Mac/Linux)完成
npm install和npm run build:prod。 - 生成的文件位于
ruoyi-ui/dist/目录。
- 在本地开发机(Windows/Mac/Linux)完成
- Linux 服务器无需:
- 不需要安装 Node.js、npm 或 Vue CLI。
- 不需要运行
npm start。
- 部署方式:将
dist文件夹内的所有文件上传至 Linux 服务器的指定目录(如/var/www/html/ruoyi-ui)。
3. Web 服务器配置(Nginx)
这是连接前端静态资源和后端 API 的关键,负责反向X_X和跨域处理。
- 软件:Nginx(主流选择)。
- 核心配置逻辑:
- 静态资源托管:将 Nginx 的
root指向存放前端dist文件的目录。 - 反向X_X:将所有非静态请求(如
/app,/system/user等)转发到后端的 Spring Boot 服务地址(通常是http://localhost:8080或内网 IP)。 - WebSocket 支持:若依使用了 WebSocket 进行消息推送,需在 Nginx 配置中添加
Upgrade和Connection头。
- 静态资源托管:将 Nginx 的
-
示例 Nginx 配置片段:
server { listen 80; server_name your-domain.com; # 替换为你的域名或IP # 前端静态资源 location / { root /var/www/html/ruoyi-ui; # 前端 dist 目录路径 index index.html; try_files $uri $uri/ /index.html; # 解决 Vue 路由刷新 404 问题 } # 后端接口X_X location /app { proxy_pass http://127.0.0.1:8080; # 后端服务地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # WebSocket 支持 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
4. 系统资源建议(最小 vs 推荐)
根据并发量不同,配置需求有所差异:
| 配置项 | 最小配置 (测试/个人使用) | 推荐配置 (生产环境/小团队) |
|---|---|---|
| CPU | 1 Core | 2 Cores |
| 内存 | 2 GB | 4 GB (Spring Boot + MySQL + Redis 较吃内存) |
| 磁盘 | 20 GB SSD | 40 GB + SSD (日志和数据库增长较快) |
| 带宽 | 1 Mbps | 5 Mbps+ (视用户访问图片/文件而定) |
5. 关键注意事项
- 跨域问题:Nginx 反向X_X完美解决了前后端跨域问题,无需在后端修改 CORS 配置。
- 权限问题:确保 Nginx 有权限读取前端目录,且 Java 进程有权限写入日志目录(通常
/logs)。 - 进程守护:建议使用
systemd管理 Java 进程,防止服务重启后挂掉。- 创建
/etc/systemd/system/ruoyi.service配置自动启动。
- 创建
- 安全组:如果是云服务器(阿里云/腾讯云/AWS),务必在控制台的安全组中放行 80 (Nginx)、22 (SSH) 和 8080 (可选,仅调试用) 端口。
总结流程:
安装 JDK & MySQL -> 启动后端 Jar 包 -> 编译前端 -> 上传前端文件 -> 配置 Nginx 反向X_X -> 启动 Nginx。
CLOUD技术博