Vue + Spring Boot 前后端分离项目部署笔记(若依 RuoYi-Vue 3.9.2)
Vue Spring Boot 前后端分离项目部署笔记若依 RuoYi-Vue 3.9.2一、环境准备服务器Ubuntu Server 24.04.4 LTS系统版本RuoYi v3.9.2、Spring Boot 4.0.6、Vue 2后端依赖OpenJDK 17、Maven 3.0、MySQL 5.7、Redis 8.10.0前端依赖node.js 24.13.0、npm 11.6.2Web服务器Nginx二、下载项目源码仓库地址https://gitee.com/y_project/RuoYi-Vuegitclone https://gitee.com/y_project/RuoYi-Vue.git三、准备MySQL数据库1、创建数据库CREATE DATABASEry-vueCHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;2、创建专用用户并授权在MySQL中执行CREATEUSERruoyilocalhostIDENTIFIED BYruoyi123;GRANT ALL PRIVILEGES ONry-vue.* TOruoyilocalhost;FLUSH PRIVILEGES;3、导入sql文件项目中有两个 SQL 文件ry_20260417.sql若依主业务表 、quartz.sql定时任务表两个文件都导入上面创建的ry-vue数据库把文件上传到服务器目录/data/ruoyi/sql/ry_20260417.sql /data/ruoyi/sql/quartz.sql导入 SQLmysql-uruoyi-pry-vue/data/ruoyi/sql/ry_20260417.sql mysql-uruoyi-pry-vue/data/ruoyi/sql/quartz.sql4、检查数据库表登录数据库mysql-uruoyi-p选择数据库USE ry-vue;查看表SHOW TABLES;看到以上内容说明数据库已成功导入四、修改后端数据库配置1、修改MySQL连接信息MySQL数据库配置文件ruoyi-admin/src/main/resources/application-druid.yml配置说明127.0.0.1MySQL 在当前服务器3306MySQL 端口ry-vue数据库名称ruoyi数据库用户名数据库密码ruoyi1232、修改Redis连接信息Redis配置文件ruoyi-admin/src/main/resources/application.yml五、修改文件上传路径后端上传目录配置为 Linux 路径六、打包后端并部署1、打包后端在项目根目录进行打包根目录是包含pom.xml的目录我们直接在 IDEA 的 Maven 面板中双击【package】成功后应看到BUILD SUCCESS生成文件通常在ruoyi-admin/target/ruoyi-admin.jar2、上传jar包到服务器我们将ruoyi-admin.jar上传到服务器的/data/ruoyi/backend/ruoyi-admin.jar3、手动启动后端测试cd/data/ruoyi/backendjava-jarruoyi-admin.jar测试后端curlhttp://127.0.0.1:8080#正常返回欢迎使用RuoYi后台管理框架当前版本v3.9.2请通过前端地址访问。这说明Java 、Spring Boot 、MySQL 连接、Redis 连接、后端端口都正常#停止前台进程Ctrl C4、配置 systemd 后台服务创建服务文件vim/etc/systemd/system/ruoyi.service写入[Unit]DescriptionRuoYi BackendAfternetwork.target mysql.service redis-server.service[Service]UserrootWorkingDirectory/data/ruoyi/backendExecStart/usr/bin/java-Xms256m-Xmx1024m-jar/data/ruoyi/backend/ruoyi-admin.jarRestartalwaysRestartSec5[Install]WantedBymulti-user.target保存后执行systemctl daemon-reload systemctlenableruoyi systemctl start ruoyi systemctl status ruoyi当前后端已经设置为后台运行、开机自启了。七、打包前端并部署1、打包前端进入前端目录\RuoYi-Vue\ruoyi-ui执行以下指令npminstall#安装依赖npmrun build:prod#执行打包预计返回 DONE Build complete. The dist directory is ready to be deployed.打包完成后会生成dist文件夹2、上传前端文件服务器创建目录mkdir-p/data/ruoyi/www/ruoyi将本地dist文件夹中的内容全部上传到该目录下八、配置NGINX修改nginx.conf写入以下内容server { listen 80; server_name _; #可以填你的域名 root /data/ruoyi/www/ruoyi; index index.html; # Vue 前端页面 location / { try_files $uri $uri/ /index.html; } # 代理若依后端接口 location /prod-api/ { proxy_pass http://127.0.0.1:8080/; proxy_http_version 1.1; 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_set_header X-Forwarded-Proto $scheme; } # 文件上传大小 client_max_body_size 100m; }重载 Nginxnginx-tnginx-sreload九、浏览器访问在浏览器中访问 http://服务器IP 成功打开若依登录界面并且成功登录

相关新闻

电商客服怎么导出微信与客户的聊天记录来进行高效管理?轻虾导出助手实战教程

电商客服怎么导出微信与客户的聊天记录来进行高效管理?轻虾导出助手实战教程

一、客服的日常:聊天记录乱成一团 小杨是一家电商公司的客服主管,团队 10 个客服,每天在微信上处理上百个客户咨询:订单查询、物流催促、退款申请、质量问题反馈……一年下来,客户聊天记录上万条,问题也随之…

2026/11/13 15:44:42 阅读更多 →
6.1 Go 切片学习笔记

6.1 Go 切片学习笔记

6.1 Go 切片学习笔记 1. 切片基础 — 创建与共享底层数组 切片是 Go 中最核心的数据结构,它是动态数组的"视图",由指针、长度、容量三部分组成: package mainimport "fmt"func main() {// 从数组创建切片:arr…

2026/10/25 19:33:53 阅读更多 →
自行车车灯方案怎么选?FP6291 + IP2332N 应用解析

自行车车灯方案怎么选?FP6291 + IP2332N 应用解析

为什么现在很多自行车车灯,不再采用单节锂电直接驱动LED了?原因很简单,随着电池电量下降,电压也会逐渐降低,传统直驱方案容易出现亮度衰减,影响夜间骑行体验。因此,越来越多的车灯开始采用升压驱…

2026/11/9 3:24:35 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻