Spring Boot+Vue前后端分离项目如何部署到服务器
🌟 前言
欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍
🤖 洛可可白:个人主页
🔥 个人专栏:✅前端技术 ✅后端技术
🏠 个人博客:洛可可白博客
🐱 代码获取:bestwishes0203
📷 封面壁纸:洛可可白wallpaper

文章目录
- Spring Boot+Vue前后端分离项目如何部署到服务器
- 环境准备
- 通用准备:
- 数据库准备
- Spring Boot部署环境:
- Vue.js部署环境:
- 可选环境:
- 运行sql文件创建数据库
- Spring Boot项目部署到服务器
- Vue项目部署到服务器
- 综合步骤
- 🎉 往期精彩回顾
Spring Boot+Vue前后端分离项目如何部署到服务器
部署Spring Boot+Vue前后端分离项目到服务器涉及以下步骤:首先,将Spring Boot后端应用打包成jar或war文件并上传至服务器,通过运行java -jar命令启动后端服务。接着,构建Vue前端项目生成静态文件,同样上传至服务器的Web服务器目录,如Nginx的html目录。最后,配置Nginx作为反向代理,将前端请求代理至Vue应用目录,同时确保后端API的路径正确映射。这样,前后端分离的项目就成功部署在服务器上。
部署Spring Boot和Vue项目到服务器之前,需要确保服务器具备以下环境和工具:
环境准备
通用准备:
-
服务器:
- 一台具有稳定网络连接的服务器,可以是云服务器或本地服务器。
- 服务器操作系统,常见的有Linux发行版(如Ubuntu、CentOS)或Windows Server。
-
SSH访问(对于Linux服务器):
- SSH客户端,如xshell。

- SSH客户端,如xshell。
-
文件传输工具:
- FTP客户端,如xftp。
- 或者SCP工具,如WinSCP(Windows)或终端(macOS、Linux)。

数据库准备
- MySQL环境:
- 安装
MySQL5.7或MySQL8.0。 - 可以通过运行
sudo systemctl status mysqld来检查MySQL是否正在运行(MySQL需要配置远程访问)。
- 安装
- CentOS上安装MySQL 5.7和MySQL 8.0教程
- 837阅读 · 21点赞 · 13收藏

- MySQL远程访问工具:
- 用于构建远程访问
MySQL工具,如Navicat。

- 用于构建远程访问
Spring Boot部署环境:
-
Java环境:
- 安装Java Development Kit (JDK),至少需要1.8版本。
- 可以通过运行
java -version和javac -version来检查Java是否已安装。
- CentOS上安装JDK的详细教程
- 739阅读 · 12点赞 · 13收藏

- Maven或Gradle(如果需要本地构建):
- 用于构建Spring Boot项目的构建工具。
- 可以通过运行
mvn -version或gradle -v来检查是否已安装。
Vue.js部署环境:
-
Node.js和npm:
- 安装Node.js,它附带npm包管理器。
- 可以通过运行
node -v和npm -v来检查是否已安装。
-
Web服务器:
- Nginx或Apache用于提供静态文件服务。
- 对于Nginx,可以通过运行
nginx -v来检查是否已安装。 - 对于Apache,可以通过运行
apache2 -v或httpd -v来检查是否已安装。
- CentOS上安装与配置Nginx
- 683阅读 · 9点赞 · 6收藏
- 手把手教你CentOS下载Nginx配置使用
- 464阅读 · 2点赞 · 3收藏

可选环境:
-
数据库:
- 如果Spring Boot应用需要数据库,需要安装相应的数据库服务器,如MySQL、PostgreSQL等。
- 确保数据库服务已启动,并且应用有正确的数据库连接配置。
-
反向代理/负载均衡:
- 如果有多个应用实例或需要SSL终端,可能需要配置Nginx或HAProxy作为反向代理或负载均衡器。
-
容器化工具(如Docker):
- 如果使用Docker,需要在服务器上安装Docker和Docker Compose。
-
自动化部署工具(如Jenkins、GitLab CI/CD):
- 如果需要自动化部署流程,可能需要安装和配置CI/CD工具。
确保在部署之前,服务器上的环境和工具都已经正确安装和配置,这样可以避免在部署过程中遇到不必要的问题。
运行sql文件创建数据库
-
远程连接服务器上的数据库:使用
Navicat连接数据库。 -
运行项目相关的
SQL文件:运行SQL。
Spring Boot项目部署到服务器
-
打包应用:
使用Maven或Gradle将Spring Boot项目打包成可执行的jar或war文件。如果使用Maven,可以在pom.xml中添加spring-boot-maven-plugin插件,并运行mvn clean package命令来打包。

-
上传到服务器:
使用FTP、SCP或其他文件传输方法将打包好的jar或war文件上传到服务器的适当目录中。 -
运行应用(如果是jar包):
在服务器上,使用以下命令在后台运行jar文件:nohup java -jar yourapp.jar > output.log 2>&1 &这将把应用的输出重定向到
output.log文件中,并在后台运行。 -
配置服务(可选):
为了确保应用可以在系统启动时自动运行,并能在出现问题时自动重启,可以创建一个Systemd服务文件。 -
开放端口:
确保服务器的防火墙设置允许外部访问Spring Boot应用的端口。
Vue项目部署到服务器
-
构建项目:
在本地环境中运行npm run build命令,这将会在Vue项目的dist/目录下生成构建后的文件。

-
上传文件:
将dist/目录下的所有文件上传到服务器的Web服务器目录中,例如Nginx或Apache的html或public目录。

-
配置Web服务器:
配置Web服务器以提供静态文件服务。如果是Nginx,你需要编辑nginx.conf或相应的配置文件,设置正确的根目录,并可能需要配置SSL(如果你使用的是HTTPS)。 -
重启Web服务器:
为了使配置生效,重启Web服务器。
先查询nginx服务运行的进程:ps -ef|grep nginx
杀死所查询到的nginx服务:kill -9 [ 查到的进程]
重启服务:cd /nginx安装的sbin目录
./nginx -
访问应用:
在Web浏览器中输入服务器的IP地址或域名,你应该能够看到你的Vue应用。
综合步骤
对于同时包含前端Vue项目和后端Spring Boot项目的全栈应用,通常的做法是:
- 将Spring Boot应用打包并部署到服务器,作为后端API服务。
- 将Vue应用构建并上传到同一服务器的Web服务器目录中,或者配置反向代理(如Nginx)将前端请求代理到Vue应用的服务器。
确保在部署过程中,Vue应用的publicPath或base配置正确指向后端API的URL,以确保前后端能够正确地通信。
以上步骤是部署Spring Boot和Vue项目到服务器的基本流程。具体的命令和配置可能会根据你的项目和服务器环境有所不同。
如果对你有帮助,点赞、收藏、关注是我更新的动力!👋🌟🚀
🎉 往期精彩回顾
- 前端开发的发展史:框架与技术栈的演变
- 706阅读 · 11点赞 · 8收藏
- 打字通小游戏制作教程:用HTML5和JavaScript提升打字速度
- 588阅读 · 24点赞 · 18收藏
- 扫雷小游戏制作教程:用HTML5和JavaScript打造经典游戏
- 776阅读 · 15点赞 · 20收藏
- 拼图小游戏制作教程:用HTML5和JavaScript打造经典游戏
- 487阅读 · 9点赞 · 12收藏
- Mock.js 基本语法与应用笔记
- 280阅读 · 5点赞 · 9收藏
- 排序算法全景:从基础到高级的Java实现
- 679阅读 · 25点赞 · 9收藏
- CentOS系统上安装Redis操作教程
- 410阅读 · 4点赞 · 4收藏
- 打造你的HTML5打地鼠游戏:零基础入门教程
- 1131阅读 · 28点赞 · 30收藏
- 打造你的贪吃蛇游戏:HTML、CSS与JavaScript的完美结合
- 1078阅读 · 26点赞 · 12收藏
- 快速上手:使用Hexo搭建并自定义个人博客
- 669阅读 · 19点赞 · 20收藏
- 在Vue中处理接口返回的二进制图片数据
- 704阅读 · 21点赞 · 18收藏
- 打造经典游戏:HTML5与CSS3实现俄罗斯方块
- 1117阅读 · 31点赞 · 23收藏
- Spring Boot中Excel数据导入导出的高效实现
- 1066阅读 · 23点赞 · 22收藏
- Spring Boot中实现图片上传功能的两种策略
- 1297阅读 · 24点赞 · 13收藏
- CentOS上安装MySQL 5.7和MySQL 8.0教程
- 837阅读 · 21点赞 · 13收藏
- Spring Boot工程集成验证码生成与验证功能教程
- 1417阅读 · 39点赞 · 17收藏
- Spring Boot 3项目集成Swagger3教程
- 809阅读 · 15点赞 · 8收藏
- CentOS上安装JDK的详细教程
- 739阅读 · 12点赞 · 13收藏
- 解决前端项目中Node.js版本不一致导致的依赖安装错误
- 876阅读 · 17点赞 · 16收藏
- 入门指南:使用uni-app构建跨平台应用
- 1315阅读 · 29点赞 · 9收藏
- Vue项目中使用Mock.js进行API模拟
- 655阅读 · 17点赞 · 7收藏
- Vue组件间通信实践
- 866阅读 · 24点赞 · 18收藏
- CentOS上安装与配置Nginx
- 683阅读 · 9点赞 · 6收藏
- Vue跳转页面传递参数
- 268阅读 · 5点赞 · 4收藏
- vue项目如何下载使用gsap动画库
- 551阅读 · 1点赞 · 0收藏
- VS Code上搭建React开发环境
- 2286阅读 · 2点赞 · 10收藏
- vue命令式组件封装以及使用
- 819阅读 · 2点赞 · 3收藏
- springboot项目常用配置
- 379阅读 · 1点赞 · 0收藏
- 如何在Vue中使用百度地图API来创建地图应用程序。
- 345阅读 · 3点赞 · 1收藏
- 手把手教你CentOS下载Nginx配置使用
- 464阅读 · 2点赞 · 3收藏
- vue3 setup语法糖的三种书写方法
- 2824阅读 · 5点赞 · 14收藏
- vue3中vuex 的使用基本使用和二次封装
- 447阅读 · 3点赞 · 1收藏
- MySQL基础全套全网最详细讲解
- 770阅读 · 3点赞 · 6收藏
- 前端开发之响应式布局,响应式 HTML, CSS and JavaScript 框架介绍;
- 703阅读 · 3点赞 · 2收藏
- VS code搭建C/C++运行环境简单易上手
- 2786阅读 · 5点赞 · 8收藏
- Vue.2&Vue.3项目引入Element-UI教程&踩坑
- 9268阅读 · 22点赞 · 82收藏
- Vue项目引入Echarts可视化图表库教程&踩坑
- 2203阅读 · 3点赞 · 5收藏
- VirtualBox虚拟机搭建CentOS系统教程
- 4493阅读 · 4点赞 · 32收藏
- VS Code上搭建Vue开发环境
- 10662阅读 · 13点赞 · 64收藏
- Color-UI 简介及使用教程
- 5921阅读 · 2点赞 · 13收藏
相关文章:
Spring Boot+Vue前后端分离项目如何部署到服务器
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
【学习总结】Ubuntu中vscode用ROS插件调试C++程序
1、教程 参考博客: 【ROS】 在VScode中 ROS Debug 配置方法非常详细版 关于launch文件的配置: launch.json {"version": "0.2.0","configurations": [{"name": "ROS: Launch","request"…...
html--蝴蝶
<!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>蝴蝶飞舞</title> <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.cs…...
线程的 sleep()方法和 yield()方法有什么区别?为什么 Thread 类的 sleep()和 yield ()方法是静态的?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 线程的 sleep()方法和 yield()方法有什么区别 sleep()方法: sleep()方法使当前线程进入休眠状态,即暂停执行一段时间。它是静态方法,属于Thread类,调用…...
Java进阶 Maven基础
资料格式 配置文件 com.itheima Java代码 Statement stat con.createStatement(); 示例 com.itheima 命令 mvn test - Maven简介 传统项目管理状态分析 Maven 是什么 Maven的本质是一个项目管理工具,将项目开发过程抽象成一个项目对象模型(POM&…...
Spring Boot(六十八):SpringBoot 整合Apache tika 实现文档内容解析
1 Apache Tika 介绍 Apache Tika 是一个开源的内容检测和分析框架,由Apache软件基金会开发和维护的顶级项目。它可以从各种格式的文件中提取元数据和文本内容。Tika非常适合处理全文搜索、内容分析、翻译、内容提取等需要大量处理和分析文档内容的任务。Apache Tika提供了多种…...
jQuery+CSS3自动轮播焦点图特效源码
jQueryCSS3自动轮播焦点图特效源码,源码由HTMLCSSJS组成,双击html文件可以本地运行效果,也可以上传到服务器里面 下载地址 jQueryCSS3自动轮播焦点图特效源码...
面试经典150题(114-118)
leetcode 150道题 计划花两个月时候刷完之未完成后转,今天完成了5道(114-118)150 gap 了一周,以后就不记录时间了。。 114.(70. 爬楼梯) 题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不…...
HTML表单标签详解:如何用HTML标签打造互动网页?
在互联网的世界中,表单是用户与网站进行互动的重要桥梁。无论是注册新账号、提交反馈、还是在线购物,表单都扮演着至关重要的角色。在网页中,我们需要跟用户进行交互,收集用户资料,此时就需要用到表单标签。 HTML提供…...
Web 服务器-Tomcat
文章目录 Web服务器一、Tomcat简介二、基本使用三、在IDEA中创建Maven Web项目四、在IDEA中使用Tomcat Web服务器 一、Tomcat简介 二、基本使用 三、在IDEA中创建Maven Web项目 四、在IDEA中使用Tomcat...
(德迅零域)微隔离安全平台是什么,有什么作用?
网络隔离并不是新的概念,而微隔离技术(Micro-Segmentation)是VMware在应对虚拟化隔离技术时提出来的,但真正让微隔离备受大家关注是从2016年起连续3年微隔离技术都进入Gartner年度安全技术榜单开始。在2016年的Gartner安全与风险管…...
这些问题,每年软考报名时都有人问
软考报名实行网上在线报名的方式,每次在报名期间,考生都会遇到各种各样的问题,本文挑选了一些大家问的比较多的问题进行了解答,希望对大家有所帮助。 1、软考报名资格审核要审核多久? 一般来说审核时间在3个工作…...
JavaScript爬虫进阶攻略:从网页采集到数据可视化
在当今数字化世界中,数据是至关重要的资产,而网页则是一个巨大的数据源。JavaScript作为一种强大的前端编程语言,不仅能够为网页增添交互性,还可以用于网页爬取和数据处理。本文将带你深入探索JavaScript爬虫技术的进阶应用&#…...
MATLAB教程
目录 前言一、MATLAB基本操作1.1 界面简介1.2 搜索路径1.3 交互式命令操作1.4 帮助系统 二、MATLAB语言基础2.1 数据类型2.2 MATLAB运算2.2.1 算数运算2.2.2 关系运算2.2.3 逻辑运算 2.3 常用内部函数2.4 结构数据与单元数据 三、MATLAB程序设计3.1 M文件3.2 函数文件3.3 程序控…...
爱恩斯坦棋小游戏使用C语言+ege/easyx实现
目录 1、游戏介绍和规则 2、需要用到的头文件 3、这里我也配上一个ege和easyx的下载链接吧,应该下一个就可以 4、运行结果部分展示 5、需要用到的图片要放在代码同一文件夹下 6、代码地址(里面有需要用到的图片) 1、游戏介绍和规则 规则如…...
png格式怎么转成gif?一个小窍门快速转换
如何将png转换成gif动画?作为新媒体工作者,在日常办公中少不了使用到gif格式图片。那么,当我们遇到需要将png格式转换成gif格式的时候要怎么操作呢?很简单,使用gif动画图片(https://www.gif.cn/)…...
mysql笔记:20. 什么是数据库六大范式
文章目录 简介什么是范式最常用的范式 第一范式 - 1NF第二范式 - 2NF第三范式 - 3NF第四范式 - 4NF第五范式 - 5NF巴斯-科德范式 - BCNF总结 简介 什么是范式 范式(Normal Form,简称NF)是数据库设计时遵循的一种规范,不同的规范…...
4.GetMapping和PostMapping 和 @RequestMapping的区别。RequestBody 和ResponseBody的区别
1.GetMapping和PostMapping 和 RequestMapping的区别 //GetMapping只能通过get请求。 public class Hello1{GetMapping("hello1")public String h1(){return "1";}//PostMapping只能通过post请求,需要输入参数。 public class Hello2{PostMapp…...
UE要收费?难道ue的使用成本要增加吗?
去年,Epic Games在裁员16%后,放出要对非游戏制作等行业使用UE进行收费的消息。3月12日,Epic Games正式宣布了对UE、实时可视化工具Twinmotio和摄影测量应用RealityCapture的新定价。 Epic Games将从下个月开始推出新的Unreal订阅模式&#x…...
深度学习-2.6在MINST-FASHION上实现神经网络的学习流程
文章目录 在MINST-FASHION上实现神经网络的学习流程1. 导库2. 导入数据,分割小批量3. 定义神经网络4.定义训练函数5.进行训练与评估 在MINST-FASHION上实现神经网络的学习流程 现在我们要整合本节课中所有的代码实现一个完整的训练流程。 首先要梳理一下整个流程&a…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
