当前位置: 首页 > news >正文

Windows Server上从零部署RuoYi-Vue:保姆级避坑指南(含Redis、Nginx配置)

Windows Server上从零部署RuoYi-Vue:保姆级避坑指南(含Redis、Nginx配置)

1. 环境准备与基础配置

在开始部署RuoYi-Vue之前,确保你的Windows Server已经完成以下基础环境配置。一台刚安装好的Windows Server 2016/2019/2022系统需要特别注意这些准备工作:

系统要求检查清单

  • 确保系统已安装最新补丁(运行winver检查版本)
  • 关闭Windows Defender实时防护(临时关闭即可)
  • 以管理员身份运行所有安装和配置操作
  • 准备至少8GB内存(RuoYi-Vue运行需要4GB以上)

1.1 JDK安装与配置

RuoYi-Vue要求Java 8或11环境,以下是推荐安装步骤:

  1. 下载AdoptOpenJDK 11 HotSpot版本(推荐使用.msi安装包)
  2. 安装时勾选"Set JAVA_HOME variable"选项
  3. 验证安装:
    java -version javac -version
  4. 手动检查环境变量:
    • JAVA_HOME应指向JDK安装目录(如C:\Program Files\AdoptOpenJDK\jdk-11.0.xx-hotspot
    • Path中应包含%JAVA_HOME%\bin

注意:避免使用Oracle JDK,可能遇到许可问题。如果必须使用,建议配置JVM参数:

-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m

1.2 Maven环境配置

RuoYi-Vue使用Maven进行依赖管理:

  1. 下载Maven 3.6+二进制包(建议使用3.8.6)
  2. 解压到C:\Program Files\apache-maven-3.8.6
  3. 配置环境变量:
    • MAVEN_HOME= 安装目录
    • Path中添加%MAVEN_HOME%\bin
  4. 修改conf/settings.xml
    <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>

验证配置:

mvn -v

2. Redis服务部署与优化

2.1 Redis安装与配置

不同于简单的解压即用,生产环境需要特别注意以下配置:

  1. 下载Redis 5.0+ Windows版本(推荐使用微软维护的分支)
  2. 解压到C:\Redis(避免路径含空格或中文)
  3. 关键配置修改(redis.windows.conf):
    bind 127.0.0.1 port 6379 maxmemory 1GB maxmemory-policy allkeys-lru requirepass yourStrongPassword
  4. 安装为服务:
    redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis_RuoYi

2.2 服务优化与故障排查

常见问题解决方案

问题现象可能原因解决方案
服务启动后立即停止端口冲突修改port或运行net stop Redis_RuoYi
内存占用过高未设内存限制配置maxmemory参数
连接被拒绝防火墙阻止添加Windows防火墙入站规则

性能优化建议

  • 定期执行内存整理:
    redis-cli --pass yourStrongPassword MEMORY PURGE
  • 监控内存使用:
    redis-cli --pass yourStrongPassword INFO memory

3. 后端项目部署实战

3.1 项目编译与打包

  1. 克隆RuoYi-Vue项目:
    git clone https://gitee.com/y_project/RuoYi-Vue.git
  2. 修改关键配置(ruoyi-admin/src/main/resources/application.yml):
    server: port: 8080 servlet: context-path: / redis: host: 127.0.0.1 port: 6379 password: yourStrongPassword
  3. 执行完整构建:
    cd RuoYi-Vue mvn clean package -DskipTests

3.2 服务化部署方案

方案一:传统BAT脚本启动

  1. 创建启动脚本start.bat
    @echo off set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m java %JAVA_OPTS% -jar ruoyi-admin.jar > console.log 2>&1
  2. 创建停止脚本stop.bat
    @echo off for /f "tokens=5" %%i in ('netstat -ano ^| findstr 8080') do ( taskkill /f /pid %%i )

方案二:Windows服务部署(推荐)

  1. 使用winsw工具创建服务:
    <!-- ruoyi-service.xml --> <service> <id>RuoYiAdmin</id> <name>RuoYi Admin Service</name> <description>RuoYi-Vue后端服务</description> <executable>java</executable> <arguments>-Xms512m -Xmx1024m -jar "C:\deploy\ruoyi-admin.jar"</arguments> <logmode>rotate</logmode> </service>
  2. 安装服务:
    winsw.exe install ruoyi-service.xml

4. 前端部署与Nginx配置

4.1 前端项目构建

  1. 安装Node.js 14+和Yarn
  2. 修改配置(ruoyi-ui/vue.config.js):
    devServer: { port: 80, proxy: { '/prod-api': { target: 'http://localhost:8080', changeOrigin: true, pathRewrite: { '^/prod-api': '' } } } }
  3. 执行构建:
    yarn install yarn build:prod

4.2 Nginx高级配置

完整nginx.conf配置示例

worker_processes auto; events { worker_connections 1024; use epoll; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; gzip_types text/plain text/css application/json application/javascript text/xml; server { listen 8800; server_name your-domain.com; # 前端静态资源 location / { root /path/to/ruoyi-ui/dist; index index.html index.htm; try_files $uri $uri/ /index.html; } # 后端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; proxy_send_timeout 600s; } # 静态资源缓存 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; access_log off; } } }

性能优化关键参数

  • worker_processes: 设置为CPU核心数
  • worker_connections: 每个worker的最大连接数
  • gzip: 启用压缩减少传输量
  • proxy_timeout: 调整API超时时间

5. 系统集成与验证

5.1 服务启动顺序

  1. Redis服务
  2. 后端Java服务
  3. Nginx服务

验证命令:

# 检查Redis redis-cli ping # 检查Java进程 jps -l # 检查Nginx tasklist /fi "imagename eq nginx.exe"

5.2 完整测试流程

  1. 验证API接口:
    curl -X GET "http://localhost:8080/captchaImage" -H "accept: */*"
  2. 访问前端页面:
    http://localhost:8800
  3. 登录测试(默认账号admin/admin123)

常见问题排查表

问题检查点解决方案
验证码不显示Redis连接检查密码和端口配置
接口404错误Nginx代理配置确认/prod-api路径匹配
静态资源加载失败文件权限确保IIS或Nginx有目录读取权限

6. 安全加固与维护

6.1 基础安全配置

  1. 修改默认密码:
    • Redis密码
    • 数据库密码(如果使用MySQL)
    • 管理员账号密码
  2. 禁用不必要的接口:
    # application.yml swagger: enabled: false
  3. 配置HTTPS(可选):
    ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m;

6.2 日常维护脚本

日志清理脚本(clean_logs.bat):

@echo off forfiles /p "C:\logs" /m *.log /d -30 /c "cmd /c del @path"

服务监控脚本(check_service.bat):

@echo off sc query Redis_RuoYi | find "RUNNING" > nul if %errorlevel% neq 0 ( echo Redis服务未运行,正在启动... net start Redis_RuoYi )

数据库备份脚本(建议使用Windows任务计划定期执行):

mysqldump -u root -p your_password ruoyi > C:\backup\ruoyi_%date:~0,4%%date:~5,2%%date:~8,2%.sql
http://www.jsqmd.com/news/906918/

相关文章:

  • 2026 年 5 月基金从业备考避坑:免费题库与电子版软件实测 - 讲清楚了
  • Unity崩了转UE5?一个独立开发者的真实踩坑与避坑全记录
  • 3大核心机制深度解析:BetterNCM-Installer的Rust GUI架构设计与Windows系统集成
  • playwright工具(四)codex的浏览器插件
  • git教程使用的一些心得
  • 上海软件开发服务商那么多,企业数字化转型期该如何精准选择
  • 土地利用模拟避坑指南:为什么你的IDRISI CA-Markov模型精度总是不达标?
  • day6:数组
  • Layuimini企业级后台架构最佳实践:高可用可扩展前端解决方案
  • Linux无线打印避坑指南:爱普生L3255通过TCP/IP连接成功打印的完整配置流程
  • 2026年华南地区高品质长款鹅绒服品牌深度解析与选购指南 - 2026年企业资讯
  • CANN graph-autofusion 框架——算子自动融合原理与实战
  • GitHub加速插件:告别龟速访问,体验极速下载
  • 暗影精灵8装Ubuntu双系统,我踩过的坑你别再踩了(Win11+RTX3060保姆级避坑指南)
  • 逆向入门必看:从导入表和重定位表理解Windows程序如何‘跑起来’
  • Chiplet 架构下嵌入式 SoC 的模块化设计与功耗管理
  • 用JsonUtility在Unity里做个简易存档系统:5分钟搞定角色位置和状态保存
  • 别再手动diff了!Ubuntu 22.04上Beyond Compare 4保姆级安装与汉化配置指南
  • Unlock Music终极指南:3分钟掌握浏览器端音乐解锁神器
  • 别再只会调sklearn的PCA了!手把手带你用NumPy从零实现PCA降维(附鸢尾花数据集实战)
  • 025、Transformer与注意力机制简介
  • 导热硅脂选型中的热阻与可靠性问题分析
  • 3大核心技巧:用vim-plug打造极致开发效率的插件管理器生态
  • 观察Taotoken平台在高峰时段的API服务稳定性表现
  • 全屋定制怎样避坑?
  • 2026年如何甄选可靠的新风软连接定做厂家?系统梳理与品牌解析 - 2026年企业资讯
  • 2026年至今,河北地区建筑资质延期办理流程咨询公司深度解析 - 2026年企业资讯
  • Jarvis coding Agent GUI
  • MU1定位抓拍雷达软件调试指导
  • 你以为ERP只是记账?错过这五个功能每年多花十几万