【RuoYi-SpringBoot3-Pro】:部署,怎么简单效率怎么玩

RuoYi-SpringBoot3-Pro热更新实践:DevTools+Nacos配置一次搞定 热更新是现代Java后端开发中提升效率的关键能力,尤其在Spring Boot 3技术栈下,它让开发期代码调整和运行期配置变更不再依赖频繁重启。其核心原理在于Spring框架的配置加载机制与@RefreshScope作用域,配合Nacos配置中心的长轮询推送,实现秒级动态刷新。这种机制不仅能减少本地调试的等待时间,也能让线上业务开关、参数阈值等配置实现可视化动态管理,降低发版风险。在实际工程中,开发者可借助DevTools实现代码热部署,通过Nacos+@RefreshScope实现配置热更新。RuoYi- 阅读详情

【RuoYi-SpringBoot3-Pro】:部署,怎么简单效率怎么玩

本文介绍了如何一人简单高效的部署系统,如果你习惯了在公司的 CI/CD 流程,觉得本文太 LOW,那么你是对的 😜

后端打包部署

RuoYi-SpringBoot3-Pro 默认集成了 wagon-maven-plugin 插件实现 FTP/SFTP 上传,在 pom.xml 根据实际需求修改配置:

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>wagon-maven-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <serverId>RuoyiSpringBoot3</serverId>
                    <fromFile>ruoyi-admin/target/RuoyiSpringBoot3.jar</fromFile>
                    <toFile>RuoyiSpringBoot3.jar</toFile>
<!--                    <fromDir>target</fromDir>-->
<!--                    <includes>*.jar,*.war</includes>-->
<!--                    <toDir>/</toDir>-->
                    <url>ftp://ip:21</url>
<!--                    <url>sftp://ip</url>-->
                </configuration>
                <executions>
                    <execution>
                        <id>upload-jar-to-ftp</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>upload-single</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.wagon</groupId>
                        <artifactId>wagon-ftp</artifactId>
                        <version>3.5.3</version>
<!--                        <groupId>org.apache.maven.wagon</groupId>-->
<!--                        <artifactId>wagon-ssh</artifactId>-->
<!--                        <version>3.5.3</version>-->
                    </dependency>
                </dependencies>
            </plugin>

使用前需要先配置 FTP 账号密码:
打开 ~/.m2/settings.xml(对于 Linux/MacOS)或 C:\Users\<YourUsername>\.m2\settings.xml(对于 Windows)

<settings>
    ...
    <servers>
        <server>
            <id>serverId</id> <!-- 必须与 pom.xml 中 serverId 匹配 -->
            <username>yourUsername</username>
            <password>yourPassword</password>
        </server>
    </servers>
    ...
</settings>

上述配置完成后,打包上传:
在这里插入图片描述

前端打包部署

RuoYi-SpringBoot3-ElementPlus 也内置了 FTP/SFTP 上传,配置文件在 ./ftp 目录下

方式一:FTP

使用 ftp-deploy 进行部署,配置文件 ftp.js 如下:

const config = {
  user: "", // FTP 用户名
  password: "", // FTP 密码
  host: "", // FTP 主机地址
  port: 21, // FTP 端口,默认是21
  localRoot: "./dist", // 本地要上传的目录,通常为 Vite 构建输出目录
  remoteRoot: "/dist", // 远程服务器上的目标路径
  include: ["*", "**/*"], // 要包含的文件或目录模式
  exclude: [], // 要排除的文件或目录模式
  deleteRemote: false, // 是否在上传前删除远程目录中的文件
  forcePasv: false, // 强制被动模式
};
方式二:SFTP

使用 ssh2-sftp-client 进行部署,配置文件 sftp.js 如下:

// 基本配置(可通过环境变量覆盖)
const config = {
  host: process.env.SFTP_HOST || "",
  port: Number(process.env.SFTP_PORT || 22),
  username: process.env.SFTP_USER || "",
  password: process.env.SFTP_PASSWORD || "",
  localDir: process.env.SFTP_LOCAL || path.resolve(process.cwd(), "dist"),
  remoteDir: process.env.SFTP_REMOTE || "/dist",
};

配置好后打包上传:

npm run build:prod

在这里插入图片描述

服务器配置

服务器直接安装 宝塔

FTP

在软件商店安装 FTP服务,添加账号密码,用于上面的前后端 FTP 配置

jar 部署

在网站->Java项目->添加Java项目,根据你的实际情况填写配置

Nginx 配置

location / {
            root   /www/wwwroot/项目名称/site;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

   location ^~ /admin {
            alias   /www/wwwroot/项目名称/dist;
            try_files $uri $uri/ /admin/index.html;
            index  index.html index.htm;
        }
#location / {
#            root   /www/wwwroot/项目名称/dist;
#            try_files $uri $uri/ /index.html;
#            index  index.html index.htm;
#        }

        location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:项目运行端口/;
            # ai stream
            proxy_buffering off;
            proxy_cache off;
            proxy_set_header Connection '';
            proxy_http_version 1.1;
            chunked_transfer_encoding off;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

jar 自动重启

jar 上传后还需要手动重启服务,这不符合我们的懒人形象。这里使用 PM2 监听 jar 文件变化来自动重启

pm2 start "java-service 项目名称 stop && java-service 项目名称 start" --watch "/www/wwwroot/项目名称/项目名称.jar" --no-autorestart --name 项目名称

结尾

至此以后前端打包部署只需要 npm run build:prod,后端只要打包后点击 wagon-upload:single 即可!

往期教程合集

RuoYi-SpringBoot3-Pro

手把手教你用Ruoyi-React+Ant Design Pro 6快速搭建企业级后台管理系统(SpringBoot+MySQL实战) 本文详细介绍了如何使用Ruoyi-React框架与Ant Design Pro 6组件库快速搭建企业级后台管理系统。通过SpringBoot和MySQL的全栈技术组合,结合代码生成器和权限系统,实现高效开发和部署,提升企业数字化转型效率。 阅读详情

相关推荐

手把手教你用Ruoyi-React+SpringBoot快速搭建企业级后台管理系统(附代码生成器使用技巧)

本文提供了一份基于Ruoyi-React与SpringBoot快速搭建企业级后台管理系统的实战指南。详细解析了前后端技术栈选型,并重点介绍了其核心工具——代码生成器的高阶使用技巧,能极大提升CRUD开发效率。此外,文章还涵盖了前端定制、后端业务扩展、性能优化及生产部署等关键环节,帮助开发者从零到一构建现代化、可维护的管理系统。

lake5的博客 294

【RuoYi-SpringBoot3-Pro】:若依企业级增强版 —— 让开发更安全高效

RuoYi-Vue 增强版本,保留了原有的所有功能,并新增代码加密保护、三级等保支持、AI 对话能力、更强大的 ORM 支持、多数据库适配、低代码开发能力等企业级功能

AI时代超级个体,专注AI应用落地,开发经验分享 3074

ruoyi-vue-pro-Spring Boot 后台管理系统资源

RuoYi-Vue Pro Spring Boot + MyBatis Plus + Vue & Element + RBAC SaaS Flowable CRMERPIoTAI Star

【RuoYi-SpringBoot3-Pro】:接入 AI 对话能力

RuoYi-SpringBoot3-Pro框架内置了开箱即用的OpenAI工具类,帮助开发者快速集成AI对话功能。该工具类基于官方OpenAI Java SDK封装,支持同步/流式对话、多角色消息和代理配置,兼容所有遵循OpenAI协议的第三方API。核心组件包括配置类OpenAIConfig、工具类OpenAI和消息实体AIMessage。通过简单配置即可实现AI对话功能,并提供前端集成示例和最佳实践建议,如错误处理、Token控制和敏感信息保护。

未名胡的博客 529

浅析MOS管导通过程及RC吸收电路设计要点

RC吸收电路 米勒电容 MOS导通过程

liangbo1999的博客 2万+

深入解析Android14应用安装权限:从声明到授予的完整适配指南

本文深入解析Android14应用安装权限的适配方法,重点介绍了从权限声明到授予的完整流程。与Android13相比,Android14在权限管理机制上进行了重要调整,特别是通过AppOpsManager实现权限的对象化封装。文章详细讲解了权限声明的基础配置、Framework层适配方案、运行时权限授予方法以及常见问题排查指南,帮助开发者高效完成Android14权限适配。

o9p0q1的博客 695

【RuoYi-SpringBoot3-Pro】:多数据库支持,再也不用为数据库选型烦恼了

【RuoYi-SpringBoot3-Pro】:多数据库支持,再也不用为数据库选型烦恼了

AI时代超级个体,专注AI应用落地,开发经验分享 2795

CXL Virtual Hierarchy (VH) Enumeration理解

在 CXL 3.0 协议中,CXL Virtual Hierarchy (VH) Enumeration 是一种针对 CXL 虚拟层级(Virtual Hierarchy) 设计的设备枚举机制,它允许软件将物理连接的 CXL 设备抽象为多个逻辑层级(虚拟层级),从而实现更灵活的资源管理和拓扑扩展。与传统的 PCIe 枚举相比,CXL VH 枚举在协议特性、拓扑抽象和资源分配机制上有显著差异。本质:VH 是一个逻辑上的设备层级结构,可能与物理连接拓扑不同。

Summer的博客 1002

【RuoYi-SpringBoot3-Pro】:MyBatis-Plus 集成

本文详细介绍 RuoYi-SpringBoot3-Pro 框架中 MyBatis-Plus 的集成方案,包括核心插件配置、多租户支持、Lambda 查询、代码生成等实战技巧

AI时代超级个体,专注AI应用落地,开发经验分享 1828

零、HarmonyOS应用开发者基础学习总览

零、HarmonyOS应用开发者基础学习总览

weixin_45029825的博客 1454

基于企业微信客服与GPT-3构建合规微信AI助手:从原理到部署实践

在人工智能与即时通讯融合的浪潮中,自然语言处理(NLP)与API集成成为构建智能对话系统的核心技术。其原理在于通过API网关接收用户输入,调用云端大语言模型进行处理,再将结果返回给用户,实现自动化交互。这项技术的核心价值在于将前沿AI能力无缝嵌入到日常高频应用场景中,极大地提升了客服自动化、智能问答与个性化服务的效率与体验。企业微信作为官方认可的企服平台,其开放的客服API接口为开发者提供了稳定、合规的消息通道,是连接微信生态与外部AI服务的理想桥梁。本文聚焦于如何利用企业微信客服API与OpenAI的GP

weixin_28727943的博客 627

【RuoYi-SpringBoot3-Pro】:热更新,设置一次,效率翻倍

本文将重点介绍两种主流的解决方案:Spring 官方提供的免费方案 `Spring Boot DevTools`,以及功能强大的 `IDEA JRebel` 插件。告别无意义的等待,让开发效率翻倍!

AI时代超级个体,专注AI应用落地,开发经验分享 1645

Serdes之什么是(CDR)?

光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。目前市场上大多数收发器都没有专用的时钟输入,因此时钟恢复和数据重新定时等功能是在收发器外部(即在主板上)进行的。接收端则需要恢复时钟以采样串行线上的数据。为了实现这一点,接收端需要一个与输入数据频率大致相同的时钟。通过使参考时钟与输入数据信号的跳变相位对齐,可以生成一个恢复的时钟。这被称为时钟恢复。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2390

ruoyi-vue-pro部署文档

ruoyi-vue-pro介绍: 前端采用vue-element-admin,正在支持 Vue 3 + ElementUI Plus 最新方案。 后端采用 Spring Boot、MySQL + MyBatis Plus、Redis + Redisson。 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统。 支持加载动态权限菜单,按钮级别权限控制,本地缓存提升性能。 工作流使用 Activiti ,支持动态表单、在线设..

一起coding,一起嗨。 1万+

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(二)

《拉依达的嵌入式\驱动面试宝典》 整合了所有我认为可能遇到的技术面试问题。所有问题及其答案均是我个人学习后查阅资料总结,每个回答都做了仔细的分析,在嵌入式及其驱动面试相关问题解析做到全网独一无二。学习或者转行到嵌入式、驱动开发领域学习的不二之选

拉依达不拉跨的博客 578

STM32实战开发(150):基于STM32的智能电力负荷控制系统开发

本文介绍了基于STM32的智能电力负荷控制系统的设计与实现,涵盖了硬件设计、软件设计、负荷预测与控制等多个方面。该系统能够实时监控电力负荷,预测未来负荷变化,并根据预测结果自动调节电力负荷,防止电网过载或浪费。未来,我们可以进一步优化该系统,加入更多的传感器数据,提升预测算法的精度,并结合大数据与云计算技术实现更为强大的远程控制与数据分析功能。

2201_76125393的博客 714

RuoYi-Vue Pro:企业级SpringBoot后台管理系统完全指南

还在为搭建企业级后台系统而烦恼吗?传统方案要么功能单一,要么配置复杂,要么文档不全?RuoYi-Vue Pro一站式解决所有痛点! **读完本文,你将获得:** - ✅ 全面掌握RuoYi-Vue Pro的核心架构和功能特性 - ✅ 学习如何快速基于该框架开发专业应用 - ✅ 了解最佳实践和性能优化策略 ## 📊 项目全景:技术生态一览 | 技术领域 | 核心技术栈 | 特色功能 | |-

gitblog_00175的博客 391

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

彻底解决流程表单按钮定制难题:RuoYi-Vue-Pro动态权限控制实战指南

你是否还在为流程表单按钮的权限控制焦头烂额?传统开发中,流程按钮往往硬编码在代码中,每新增一个审批环节或调整权限都需要修改代码、重新部署,效率低下且风险极高。本文将带你深入剖析RuoYi-Vue-Pro中流程表单按钮的自定义功能,通过动态配置+权限控制的创新方案,彻底摆脱重复开发的困境。读完本文,你将掌握: - 流程表单按钮的动态渲染机制 - 基于RBAC模型的按钮权限控制 - 复杂业务场景下的按...

gitblog_01407的博客 646

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【重磅升级】RuoYi-Vue-Pro v2.6.0全解析:单体架构轻量化与管理后台功能增强实践指南

还在为复杂的分布式架构部署头疼?仍在寻找兼顾功能完整性与系统轻量性的企业级解决方案?RuoYi-Vue-Pro v2.6.0版本横空出世,带来架构简化与功能增强的双重突破!本文将带你深入了解这一版本的核心改进,掌握从环境搭建到高级功能应用的全流程实践,让你的项目开发效率提升300%。 读完本文你将获得: - 单体架构轻量化改造的实施步骤与最佳实践 - 管理后台10大新增功能的实战应用方法 - 性...

gitblog_01422的博客 532

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

今日热门项目推荐:ruoyi-vue-pro - 企业级快速开发平台新标杆

今日热门项目推荐:ruoyi-vue-pro - 企业级快速开发平台新标杆 【免费下载链接】ruoyi-vue-pro ???? 官方推荐 ???? RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序...

gitblog_01410的博客 385

RuoYi-Vue-Pro项目v2.5.0版本全面升级解析

RuoYi-Vue-Pro项目v2.5.0版本全面升级解析 RuoYi-Vue-Pro是一个基于Spring Boot和Vue.js的企业级快速开发框架,它提供了丰富的功能模块和现代化的技术栈,帮助开发者快速构建企业级应用。最新发布的v2.5.0版本带来了多项重要更新和优化,本文将深入解析这些技术亮点。 核心架构升级 本次版本升级在基础架构方面做了多项重要改进。首先是对AWS SDK for Ja...

gitblog_01374的博客 578

Java项目AI编程工具整合:提升SpringBoot开发效率

AI编程工具在现代软件开发中扮演着越来越重要的角色,其核心原理是通过机器学习模型理解代码上下文,提供智能建议和自动生成代码片段。在Java生态中,特别是SpringBoot框架开发时,开发者常面临CRUD接口编写、异常处理等重复性工作。通过整合Claude Code等AI工具,可以实现代码生成速度提升50%以上,同时降低语法错误率。这种技术组合特别适合企业级应用开发场景,如RuoYi-SpringBoot3-Pro项目中展示的智能CRUD生成和SQL优化功能。AI辅助开发不是要替代程序员,而是通过自动化常规

weixin_34129696的博客 547

最完整SpringBoot后台管理系统ruoyi-vue-pro:从权限控制到AI集成的企业级开发解决方案

还在为搭建企业级后台系统而熬夜加班?面对复杂的权限设计、繁琐的工作流程、多样的支付集成,你是否感到力不从心?ruoyi-vue-pro一站式解决所有开发痛点,让你3分钟内完成权限配置,10分钟搞定工作流设计! ## 痛点直击:企业开发中的真实困境 你是否经历过这样的场景?项目需求紧急,但基础框架搭建就要耗费数天时间。权限系统需要从零设计,工作流引擎配置复杂,支付接口对接繁琐...这些问题都将在

gitblog_01028的博客 1139

一个强大灵活的后台管理系统,支持SaaS 多租户、商城、CRM、ERP 等功能,目前已经101.6k star (附源码)

一个丰富优化重构的后台管理系统,为企业提供了一个强大、灵活、易用的解决方案。

m0_68103752的博客 2753

Coding (Jenkinsfile) + Docker + Spring Boot 全流程自动化部署实战指南(简化篇)

这篇文章详细介绍了如何通过 Coding(Jenkinsfile)和 Docker 自动化部署 Spring Boot 项目,涵盖从环境配置到项目提交、Jenkinsfile 编写、Docker 镜像构建与推送、到最终部署的全流程。适用于开发者提升自动化部署效率,简化开发与部署流程,尤其适合小型团队。

分享即是最好的学习 1778

31.4k,这是我见过最强横的后台管理系统 !!

点击关注公众号,实用技术文章及时了解平台简介芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。架构图管理后台的 Vue3 版本采用 vue-element-plus-admin ,Vue2 版本采用 vue-element-admin管理后台的移动端采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5!后端采用 Spring ...

Java知音 665
上一篇: 【n8n教程】:n8n Trigger节点,让你的工作流“自动觉醒“!
下一篇: 【n8n教程】:MCP Server Trigger节点,让你的工作流秒变AI工具!
undsky_
博客等级 码龄20年 6粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

undsky_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值