若依框架前后端分离版部署全流程详解(本地+服务器+高级配置)

若依框架前后端分离版部署全流程详解(本地+服务器+高级配置)

若依(RuoYi)作为一款基于SpringBoot和Vue的权限管理系统,凭借其模块化设计和开箱即用的特性广受开发者欢迎。本文将从本地部署、服务器部署、高级配置三个维度,结合常见问题解决方案,详细讲解若依框架前后端分离版的完整部署流程,助力开发者快速上手。

在这里插入图片描述

一、本地部署(开发环境)

#下载地址
https://www.ruoyi.vip/#环境准备
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 12

1. 环境准备

  • 后端依赖:JDK 1.8+、Maven 3.0+、MySQL 5.7+、Redis 5+
  • 前端依赖:Node.js 14+(推荐16.x)、npm 6+
  • 开发工具:IDEA(后端)、WebStorm/VSCode(前端)

2. 数据库配置

  1. 创建数据库 ry-vue,执行项目中的 sql/ry_20240629.sqlsql/quartz.sql 脚本。

    数据库创建:

    在这里插入图片描述

  2. 修改后端配置文件 ruoyi-admin/src/main/resources/application-druid.yml,更新数据库连接信息:

url: jdbc:mysql://localhost:3306/ry-vue?useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456

在这里插入图片描述

3. Redis配置

  • 启动Redis服务(Windows可运行 redis-server.exe)。
  • 修改 application.yml 中的Redis配置:
redis:host: localhostport: 6379password: 

在这里插入图片描述

4. 前端部署

  1. 进入 ruoyi-ui 目录,安装依赖:
#设置默认镜像源
npm config set registry https://registry.npmmirror.comnpm install --registry=https://registry.npmmirror.com
# 若依赖冲突,使用以下命令解决(可选)
npm i --legacy-peer-deps

2.启动前端:

npm run dev

在这里插入图片描述

5.后端启动

  • 在IDEA中运行 RuoYiApplication.java,访问 http://localhost:8080 验证。

在这里插入图片描述

二、服务器部署(生产环境)

1. 服务器环境准备

  • 系统:CentOS 7.x/Ubuntu 24.04
  • 工具:Nginx、JDK 1.8、MySQL、Redis、Node.js
  • 推荐使用宝塔面板:一键安装环境并管理端口。

2. 前端打包与Nginx配置

  1. 打包生产环境代码:
npm run build:prod  # 生成dist目录
  1. 配置Nginx反向代理:
server {listen       80;server_name  your_domain.com;location / {root   /project/ruoyi-ui/dist;index  index.html;try_files $uri $uri/ /index.html;}# 后端API代理location /prod-api/ {proxy_pass http://localhost:8080/;proxy_set_header Host $host;}
}

3. 后端打包与运行

  1. 使用Maven打包JAR:
mvn clean package -DskipTests
  1. 上传 ruoyi-admin.jar 至服务器,启动服务:
nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod &

4. 安全组与防火墙

  • 开放端口:80(前端)、8080(后端)、3306(MySQL)、6379(Redis)。根据实际情况开放设置端口。

三、高级部署方案

1. 前后端合并为单一JAR包

  1. 前端修改
    • 路由模式改为 hashsrc/router/index.js)。
    • 调整 .env.production 中的API路径。
  2. 后端集成
    • 添加Thymeleaf依赖,配置静态资源路径。
    • dist 目录放入 resources,修改 ResourcesConfig 资源映射。
  3. 打包后通过 java -jar 启动,访问路径无需Nginx。

2. Tomcat部署(War包)

  1. 修改 ruoyi-adminpom.xml,将 <packaging>jar</packaging> 改为 war
  2. 排除内置Tomcat依赖,添加Servlet API。
  3. 前端 dist 放入Tomcat的 webapps,配置 server.xml 实现路径映射。

四、常见问题与解决方案

问题场景解决方案引用
npm install 失败使用 --legacy-peer-deps 或切换淘宝镜像
启动时报OpenSSL错误package.json 中添加Node参数
数据库连接超时检查MySQL远程访问权限及防火墙规则
前端访问空白页Nginx配置 try_files 或检查路由模式
接口404错误确保Nginx的 proxy_pass 路径与后端一致

总结

本文覆盖了若依框架从本地调试到生产环境部署的全流程,并提供了多种部署方案(JAR/WAR/Nginx集成)。实际部署时需根据项目需求选择合适方式,并注意环境变量、端口权限等细节。若依的灵活架构允许开发者快速扩展,建议结合官方文档与社区资源持续优化。

相关工具下载

  • Node.js | Redis | 宝塔面板

如果本教程帮助您解决了问题,请点赞❤️收藏⭐关注❤️支持!欢迎在评论区留言交流技术细节!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医疗设备预测性维护合规架构:从法规遵循到技术实现的深度解析

在医疗行业数字化转型加速推进的当下&#xff0c;医疗设备预测性维护已成为提升设备可用性、保障医疗安全的核心技术。然而&#xff0c;该技术的有效落地必须建立在严格的合规框架之上。医疗设备直接关乎患者生命健康&#xff0c;其维护过程涉及医疗法规、数据安全、质量管控等…

LLMs基础学习(七)DeepSeek专题(4)

LLMs基础学习&#xff08;七&#xff09;DeepSeek专题&#xff08;4&#xff09; 文章目录 LLMs基础学习&#xff08;七&#xff09;DeepSeek专题&#xff08;4&#xff09;DeepSeek-R1 训练过程的四个阶段具体流程小结 “规则化奖励”具体原因小结 “自我认知”&#xff08;se…

SQL 速查手册

前言&#xff1a;SQL&#xff08;Structured Query Language&#xff09;是用于管理关系型数据库的标准语言&#xff0c;广泛应用于数据查询、更新、定义和管理等操作。本文将为你提供一份详细的 SQL 速查手册&#xff0c;涵盖从基础到高级的各种 SQL 操作&#xff0c;帮助你快…

IDEA 中 Scala 项目远程连接虚拟机 Spark 环境

IDEA 中 Scala 项目远程连接虚拟机 Spark 环境 1. 环境准备 确保虚拟机 Spark 环境正常运行 虚拟机中已安装并启动 Spark记录虚拟机的 IP 地址和 Spark 端口&#xff08;默认 7077&#xff09;确保虚拟机防火墙允许相关端口访问 本地 IDEA 环境配置 安装 Scala 插件安装 Spar…

.net core 项目快速接入Coze智能体-开箱即用-全局说明

目录 一、Coze智能体的核心价值 二、开箱即用-效果如下 三 流程与交互设计 为什么要分析意图&#xff0c;而不是全部交由AI处理。 四 接入前的准备工作 五&#xff1a;代码实现----字节Coze 签署 JWT和获取Token .net core 项目快速接入Coze智能体-开箱即用 .net core快…

网店运营精细化突破新路径

内容概要 电商战场越来越卷&#xff0c;单纯靠低价和流量轰炸已经玩不转了。今天想要站稳脚跟&#xff0c;精细化运营才是破局密码——从商品怎么选、用户怎么留&#xff0c;到供应链怎么跑得更快&#xff0c;每个环节都得抠细节。比如用数据给选品“开天眼”&#xff0c;把用…

数据结构学习笔记 :线性表的链式存储详解

目录 单链表 1.1 无头单链表 1.2 有头单链表单向循环链表双链表 3.1 双链表 3.2 双向循环链表总结与对比 一、单链表 1. 无头单链表&#xff08;Headless Singly Linked List&#xff09; 定义&#xff1a;链表无头结点&#xff0c;直接由头指针指向第一个数据节点。 特点&…

数据库10(代码相关语句)

while循环 declare avgprice numeric(10,2) set avgprice(select avg(price)from titles) //自定义参数 while avgprice<10 //循环条件 begin update titles set priceprice*1.1 end //循环语句操作&#xff0c;当avgprice<10,所有price都加0.1 case语句 查询authors表…

Redis 下载与安装(Windows版)

一、下载 1、redis官网&#xff1a; https://redis.io/downloads/ 2、Github下载地址&#xff1a; https://github.com/MicrosoftArchive/redis/releases 二、安装 1、打开一个命令窗口&#xff0c;通过 cd 命令进入到你解压的目录 2、输入命令 &#xff0c;启动 Redis&…

在高数据速度下确保信号完整性的 10 个关键策略

随着越来越多的传感器连接到系统&#xff0c;需要快速、可靠和安全地传输更多数据&#xff0c;对带宽和设计复杂性的需求也在增加。优先考虑的是确保从 A 发送到 B 的信号不会失真。 确保信号完整性 对于设计依赖于持续准确数据流的数据密集型应用程序的工程师来说&#xff0c…

NAT、代理服务、内网穿透

NAT、代理服务、内网穿透 1、NAT1.1、NAT过程1.2、NAPT2、内网穿透3、内网打洞3、代理服务器3.1、正向代理3.2、反向代理1、NAT 1.1、NAT过程 之前我们讨论了IPv4协议中IP地址数量不充足的问题。NAT技术是当前解决IP地址不够用的主要手段,是路由器的一个重要功能。 NAT能够将…

利用互斥锁或者利用逻辑过期解决缓存击穿问题

缓存击穿问题概述 缓存击穿是指某个 热点数据缓存过期 时&#xff0c;大量并发请求直接穿透缓存&#xff0c;同时访问数据库&#xff0c;导致数据库压力骤增甚至崩溃。以下是基于 互斥锁 和 逻辑过期 的解决方案&#xff1a; 一、缓存击穿的核心原因 热点数据失效&#xff1a…

Vue3组合式API内核解析:从原子状态到企业级架构

一、组合逻辑原子化设计 1.1 状态管理层级拓扑 1.2 组合单元类型对照表 类型典型实现适用场景复用维度UI逻辑单元useForm/useTable表单/列表交互100%跨项目复用业务逻辑单元useOrderFlow订单流程控制同项目跨模块设备能力单元useGeolocation地理位置获取跨技术栈复用状态管理…

新生宿舍管理系统

收藏关注不迷路&#xff01;&#xff01; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff08;免费咨询指导选题&#xff09;&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;希望帮助更多…

从零上手GUI Guider学习LVGL——Button

视频教程请关注我b站&#xff1a;同学_好好学习&#xff0c;这里只是做相应的笔记文稿 从零上手GUI Guider学习LVGL——Buttton 前言&#xff1a; 首先我们为什么要学习LVGL设计工具呢&#xff1f; 1 降低开发难度 2 提高开发效率 所以我们需要学习一款合适的设计工具 在b站很少…

【AAOS】【源码分析】Car UX Restrictions

AAOS UX的核心理念:安全驾驶是驾驶员的首要责任。汽车制造商和应用程序开发人员的所有设计都必须反映这一优先事项。 AAOS平台允许设备制造商(OEM)对不同驾驶状态下的限制进行定制。 驾驶员分心指南 只有符合Driver Distraction Guidelines的应用才可以在驾驶过程中运行。…

jvm调优工具arthas(阿尔萨斯)安装与使用---实践

jvm调优工具arthas(阿尔萨斯)安装与使用—实践 Arthas 是Alibaba开源的Java诊断工具&#xff0c;深受开发者喜爱。 当你遇到以下类似问题而束手无策时&#xff0c;Arthas可以帮助你解决&#xff1a; 这个类从哪个 jar 包加载的&#xff1f;为什么会报各种类相关的 Exception…

机器学习期末

选择题 以下哪项不是机器学习的类型&#xff1f; A. 监督学习 B.无监督学习 C.半监督学习 D.全监督学习 D 哪一个是机器学习的合理定义? A、机器学习是计算机编程的科学 B、机器学习从标记的数据中学习 C、机器学习是允许机器人智能行动的领域 D、机器学习能使计算机能够在…

3DMAX粒子流样条线生成器PFSpliner使用方法详解

3DMAX粒子流样条线生成器&#xff0c;是一款功能强大且富有创意的工具。它能够为“粒子流源”的每一个粒子生成专属的动画样条线&#xff0c;这些样条线描绘出粒子在空间中的运动轨迹&#xff0c;就如同为粒子绘制出了一条条独特的“运动地图”。更为出色的是&#xff0c;这些样…

Maven中clean、compil等操作介绍和Pom.xml中各个标签介绍

文章目录 前言Maven常用命令1.clean2.vaildate3.compile4.test5.package6.verify7.install8.site9.deploy pom.xml标签详解格式<?xml version"1.0" encoding"UTF-8"?>(xml版本和编码)modelVersion&#xff08;xml版本&#xff09;groupId&#xff…