1. RuoYi-Vue分离版部署概述
RuoYi-Vue作为国内广泛使用的开源管理系统框架,其前后端分离架构在实际开发中具有显著优势。Windows环境下的完整部署涉及多个关键环节,需要系统性地完成环境准备、依赖安装、配置调整和启动验证。本指南将基于最新稳定版本,详细说明从零开始完成部署的全过程。
2. 环境准备与工具安装
2.1 基础软件要求
部署前需确保Windows系统满足以下条件:
- 操作系统:Windows 10/11 64位或Windows Server 2016+
- 内存:建议8GB以上(最低4GB)
- 磁盘空间:至少20GB可用空间
2.2 必要工具安装
JDK 1.8+:
- 推荐使用Oracle JDK 8u321或OpenJDK 11
- 安装后需配置JAVA_HOME环境变量
- 验证命令:
java -version
Maven 3.6+:
- 下载二进制包解压至指定目录
- 配置MAVEN_HOME并添加至PATH
- 验证命令:
mvn -v
Node.js 14+:
- 建议安装LTS版本(如16.15.0)
- 包含npm包管理器
- 验证命令:
node -v和npm -v
MySQL 5.7+:
- 推荐使用MySQL 8.0.28社区版
- 安装时需设置root密码并记住
- 安装MySQL Workbench便于管理
Redis 5.0+:
- Windows版可直接下载.msi安装包
- 安装后设置为系统服务自动启动
- 验证命令:
redis-cli ping
3. 后端部署流程
3.1 项目获取与配置
克隆项目仓库:
git clone https://gitee.com/y_project/RuoYi-Vue.git导入IDE(推荐IntelliJ IDEA):
- 选择File → Open → 选中pom.xml
- 等待Maven自动下载依赖(约5-10分钟)
数据库初始化:
- 创建数据库ry-vue
- 执行sql/ry_20230214.sql初始化表结构
- 执行sql/quartz.sql初始化定时任务
修改配置文件:
# application.yml spring: datasource: url: jdbc:mysql://localhost:3306/ry-vue?useSSL=false username: root password: 你的密码
3.2 编译与启动
执行Maven打包:
mvn clean package -DskipTests启动后端服务:
java -jar ruoyi-admin/target/ruoyi-admin.jar验证启动:
- 访问http://localhost:8080
- 应看到Swagger API文档页面
4. 前端部署流程
4.1 环境准备
安装依赖:
cd ruoyi-ui npm install --registry=https://registry.npmmirror.com修改配置:
// .env.development VUE_APP_BASE_API = 'http://localhost:8080'
4.2 开发模式运行
启动前端服务:
npm run dev验证访问:
- 浏览器打开http://localhost:80
- 应看到登录页面
4.3 生产环境打包
构建生产包:
npm run build:prod部署到Nginx:
- 将dist目录内容复制到Nginx html目录
- 配置nginx.conf:
server { listen 80; server_name localhost; location / { root html; index index.html; } location /prod-api/ { proxy_pass http://localhost:8080/; } }
5. 常见问题解决方案
5.1 端口冲突处理
查看占用端口:
netstat -ano | findstr "8080"解决方案:
- 修改后端server.port配置
- 或终止占用进程:
taskkill /PID 进程号 /F
5.2 数据库连接失败
检查项:
- MySQL服务是否启动
- 用户名密码是否正确
- 数据库名是否匹配
解决方案:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码'; FLUSH PRIVILEGES;
5.3 前端跨域问题
开发环境解决方案:
// vue.config.js devServer: { proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true, pathRewrite: { '^/api': '' } } } }生产环境解决方案:
- 确保Nginx反向代理配置正确
- 检查请求URL是否包含/prod-api前缀
6. 系统优化建议
6.1 性能调优
JVM参数调整:
java -Xms512m -Xmx1024m -jar ruoyi-admin.jarRedis缓存优化:
spring: redis: database: 0 host: localhost port: 6379 password: timeout: 3000 lettuce: pool: max-active: 20 max-wait: -1
6.2 安全加固
修改默认密码:
- 修改application.yml中的默认密码
- 更新MySQL root密码
启用HTTPS:
- 申请SSL证书
- 配置Nginx支持HTTPS
- 强制HTTP跳转HTTPS
定期备份策略:
mysqldump -uroot -p ry-vue > backup_$(date +%Y%m%d).sql
7. 扩展功能集成
7.1 邮件服务配置
修改配置:
spring: mail: host: smtp.163.com username: your@email.com password: 授权码 default-encoding: UTF-8测试发送:
- 访问系统监控 → 定时任务
- 执行测试邮件发送任务
7.2 文件存储配置
本地存储配置:
# application.yml file: path: D:/ruoyi/uploadPath七牛云集成:
// 修改FileUploadUtils.java // 实现七牛云上传逻辑
8. 日常维护指南
8.1 日志管理
日志文件位置:
- ./logs/ruoyi-admin.log
- ./logs/ruoyi-error.log
日志级别调整:
logging: level: com.ruoyi: debug
8.2 系统监控
Druid监控:
- 访问http://localhost:8080/druid
- 查看SQL执行情况
Actuator端点:
- /actuator/health
- /actuator/info
8.3 版本升级
备份策略:
- 数据库完整备份
- 配置文件备份
- 上传文件备份
升级步骤:
git pull origin master mvn clean package -DskipTests
在实际部署过程中,我发现Windows环境变量设置不当是最常见的失败原因。建议每个工具安装后立即验证环境变量是否生效,特别是JAVA_HOME和PATH的设置。另外,MySQL 8.0的默认认证方式可能导致连接问题,需要在my.ini中添加default_authentication_plugin=mysql_native_password配置项。