将若依(RuoYi)管理系统部署到服务器,通常涉及后端(Spring Boot)和前端(Vue)的分离部署或单体部署。以下是基于生产环境的标准配置清单与关键步骤:
1. 基础运行环境
若依基于 Java Spring Boot 开发,因此服务器必须安装以下基础软件:
- JDK (Java Development Kit)
- 版本要求:根据项目使用的框架版本决定。
- RuoYi-Vue-Plus / RuoYi-Vue: 通常推荐 JDK 1.8 或 JDK 17(需确认
pom.xml中的<java.version>)。 - RuoYi-Cloud (微服务版): 推荐 JDK 1.8 或 JDK 17。
- RuoYi-Vue-Plus / RuoYi-Vue: 通常推荐 JDK 1.8 或 JDK 17(需确认
- 配置:设置环境变量
JAVA_HOME和PATH。
- 版本要求:根据项目使用的框架版本决定。
- 数据库 (MySQL)
- 版本:推荐 MySQL 5.7 或 MySQL 8.0+。
- 字符集:务必设置为
utf8mb4,排序规则为utf8mb4_general_ci或utf8mb4_0900_ai_ci。 - 初始化:导入若依提供的 SQL 脚本 (
ruoyi.sql)。
- Redis
- 用途:用于缓存用户 Token、验证码、字典数据等。
- 版本:推荐 Redis 5.x 或 6.x。
- 配置:确保服务器可访问 Redis 端口(默认 6379),并配置好密码(如有)。
- Nginx (仅用于前端静态资源托管或反向X_X)
- 用途:处理前端 Vue 打包后的静态文件,并转发 API 请求到后端。
- 注意:如果是前后端分离部署,Nginx 是必须的;如果是单体部署(后端直接跑,前端在同一个 Jar 包里),则不需要 Nginx,但建议加上以提升性能和安全。
2. 项目构建与依赖
在服务器上部署前,需要在本地或服务器上进行编译打包:
A. 后端打包 (Jar)
- 进入后端目录
ruoyi-admin(或对应模块)。 - 执行 Maven 命令:
mvn clean package -Dmaven.test.skip=true - 生成的目标文件位于
target/ruoyi-admin.jar。
B. 前端打包 (Dist)
- 进入前端目录
ruoyi-ui。 - 安装依赖(需 Node.js 环境):
npm install - 打包生成静态文件:
npm run build:prod - 生成的文件夹
dist包含index.html,js,css等文件。
3. 核心配置文件修改
打包完成后,必须修改配置文件以适配生产环境。
A. 后端配置 (application.yml 或 application-prod.yml)
在 src/main/resources 下找到配置文件,重点修改以下内容:
spring:
datasource:
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
redis:
host: localhost
port: 6379
password: your_redis_password # 如果有密码
database: 0
# 若依特有的配置
ruoyi:
profile: prod # 指定使用生产环境配置
# 上传路径配置 (非常重要,否则图片无法显示)
upload:
path: /home/ruoyi/upload # 服务器上的绝对路径
domain: http://your-domain.com/upload # 对外访问的 URL 地址
注意:生产环境建议开启 HTTPS,并在 Nginx 层配置 SSL 证书。
B. 前端配置 (vue.config.js)
修改 vite.config.js (Vite 版) 或 vue.config.js (Webpack 版),主要调整:
- Base: 设置为
/或具体的子路径。 - OutputDir: 保持默认的
dist。 - Proxy: 生产环境通常由 Nginx 处理转发,这里可以注释掉或移除开发时的X_X配置。
- API 地址: 确保接口请求地址指向服务器的 IP 或域名,而不是
localhost。
4. 服务器部署步骤
方案一:前后端分离部署(推荐)
- 上传文件:
- 将后端
ruoyi-admin.jar上传至服务器(如/opt/ruoyi/)。 - 将前端
dist目录下的所有文件上传至 Nginx 的html目录(如/usr/share/nginx/html/)。
- 将后端
-
配置 Nginx:
server { listen 80; server_name your-domain.com; # 替换为你的域名或 IP # 前端静态资源 location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html; # 解决 Vue 路由刷新 404 问题 } # 后端 API 转发 location /login, /system/user/list { # 根据实际情况匹配 API 路径 proxy_pass http://127.0.0.1:8080; # 后端服务端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } # 文件上传下载配置 location /upload { alias /home/ruoyi/upload; # 映射到后端配置的上传目录 expires 30d; } } - 启动后端:
nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > log.txt 2>&1 &(或者使用 Systemd 管理服务)
方案二:单体部署(Jar 包内嵌前端)
若依部分版本支持将前端打包后嵌入 Jar 包,此时只需:
- 修改
application.yml中的spring.mvc.static-path-pattern。 - 直接启动 Jar 包即可,无需 Nginx。
注:现代开发更推荐前后端分离,此方案较少用。
5. 安全与运维检查清单
部署完成后,请务必检查以下几点:
- 防火墙:开放必要端口(如 80, 443, 8080),关闭不必要的端口。
- 数据库权限:禁止远程 root 登录,创建专用数据库账号并限制 IP。
- 日志轮转:配置
logback-spring.xml或使用logrotate防止日志占满磁盘。 - 定时任务:检查 Quartz 表结构是否正确,确保定时任务能正常触发。
- 备份策略:建立定期备份 MySQL 数据和上传文件的脚本。
通过以上配置,即可实现若依管理系统的稳定生产环境部署。
CLOUD云枢