从零构建RuoYi-Vue 3.7.0生产环境:IDE高效部署实战手册
在前后端分离架构成为主流的今天,RuoYi-Vue作为基于Spring Boot+Vue的快速开发框架,凭借其丰富的功能模块和清晰的代码结构,已成为企业级应用开发的热门选择。但许多开发者在首次部署时,常因环境配置差异、工具链不统一等问题陷入"明明按照文档操作却无法正常运行"的困境。本文将基于工具链锁定和版本固化的思路,通过IntelliJ IDEA和Visual Studio Code这两款主流IDE,配合JDK 1.8+MySQL 5.7的经典环境组合,带你完成一次高可复现的War包部署全流程。
1. 环境准备与工具配置
1.1 开发环境标准化清单
部署RuoYi-Vue 3.7.0需要确保以下环境完全匹配(版本偏差可能导致不可预期错误):
| 组件 | 指定版本 | 验证命令 |
|---|---|---|
| JDK | 1.8.x | java -version |
| MySQL | 5.7.x | mysql --version |
| Redis | 4.0.x | redis-server -v |
| Tomcat | 8.5.x | catalina.sh version |
| Node.js | 14.x | node -v |
| npm | 6.x | npm -v |
提示:建议使用Docker创建隔离环境,避免与现有开发环境冲突。例如MySQL 5.7可通过
docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7快速部署
1.2 IDE关键插件安装
在IntelliJ IDEA中需确保已安装:
- Lombok Plugin(避免编译时注解报错)
- Maven Helper(依赖冲突分析)
- Database Tools(数据库可视化操作)
VSCode前端开发推荐插件:
- Volar(Vue 3语言支持)
- ESLint(代码规范检查)
- npm Intellisense(自动补全npm模块)
# 验证后端环境(IDEA终端执行) mvn -v Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode) Apache Maven 3.8.6 # 验证前端环境(VSCode终端执行) node -v v14.21.32. 后端工程War包化改造
2.1 POM文件关键修改
在IntelliJ IDEA中打开项目后,需要对ruoyi-admin/pom.xml进行三处核心修改:
- 修改打包方式为war:
<packaging>war</packaging>- 排除内嵌Tomcat(避免与外部Tomcat冲突):
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>- 添加构建插件(确保静态资源正确打包):
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> </configuration> </plugin>2.2 配置文件精准调校
application.yml需要特别注意以下参数:
server: servlet: context-path: / tomcat: basedir: /tmp/tomcat-temp # 避免Linux系统权限问题 spring: redis: host: 192.168.1.100 # 确保与Redis服务器IP一致 port: 6379 password: ruoyi123 # 生产环境建议使用Vault加密数据库连接池配置(application-druid.yml):
spring: datasource: druid: url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false username: root password: 123456 initial-size: 5 # 根据服务器配置调整 max-active: 20 # 生产环境建议50+3. 前端工程构建与优化
3.1 依赖安装与构建加速
在VSCode终端中执行以下命令前,建议先配置淘宝镜像:
npm config set registry https://registry.npmmirror.com然后安装依赖(使用--legacy-peer-deps避免版本冲突):
npm install --legacy-peer-deps生产环境构建命令需要添加--modern模式优化性能:
npm run build:prod -- --modern3.2 Nginx高级配置模板
针对前后端分离架构,推荐使用以下Nginx配置(/etc/nginx/conf.d/ruoyi.conf):
server { listen 80; server_name your-domain.com; # 前端静态资源 location / { root /home/ruoyi/projects/ruoyi-ui/dist; try_files $uri $uri/ /index.html; expires 30d; add_header Cache-Control "public, no-transform"; } # 后端API代理 location /prod-api/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 60s; proxy_read_timeout 600s; } # 禁止访问敏感文件 location ~* ^/(WEB-INF|META-INF)/ { deny all; } }4. 部署实战与排错指南
4.1 Tomcat服务器调优
修改$TOMCAT_HOME/conf/server.xml中的Connector配置:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="200" minSpareThreads="20" acceptCount="100" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/css,application/javascript"/>Context配置需特别注意(解决404问题的关键):
<Context path="" docBase="/opt/tomcat/webapps/ruoyi-admin" reloadable="false"> <Resources cachingAllowed="true" cacheMaxSize="100000" /> </Context>4.2 常见问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 验证码不显示 | Redis连接失败 | 检查spring.redis配置和防火墙规则 |
| 接口404 | context-path不匹配 | 统一前后端的prod-api路径前缀 |
| 静态资源加载失败 | Nginx权限问题 | 执行chown -R nginx:nginx /home/ruoyi |
| 数据库连接池耗尽 | 连接泄漏 | 在Druid中开启removeAbandoned参数 |
4.3 性能监控建议
部署完成后,推荐在IDEA中配置Arthas远程诊断:
# 服务器上安装Arthas wget https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar ruoyi-admin.jar常用诊断命令:
dashboard:实时系统监控trace com.ruoyi.*Controller *:追踪方法调用链路profiler start:生成火焰图分析性能瓶颈
在项目成功运行后,建议立即修改默认账号密码,并开启Spring Security的CSRF防护。对于生产环境,还应该配置HTTPS证书和定期备份策略。