(亲测有效)SpringBoot+Vue项目云服务器部署(宝塔)

目录
一、准备工作
1、购买云服务器
2、获取面板地址
二、jdk和数据库
1、安装环境
2、安装Java环境jdk
3、添加数据库
三、前端部署
1、修改后台服务所在源
2、vue build
2、创建站点
四、后端部署
1、修改application.yml
2、idea打包
3、运行jar包
方式一:在终端命令运行jar包
方式二:添加Java站点(服务器和面板都开一下端口)
4、开放端口
五、测试
六、可能遇到的问题
1、404
仿照别人项目做了个基于 springboot 和 vue 的网站,在腾讯云服务器上,通过 宝塔面板 部署了该项目。
项目的技术栈:Vue3、Axios、Element Plus、Spring Boot2、Mybatis、MySQL8
一、准备工作
1、购买云服务器
(1)首先前往云服务器平台(阿里云或腾讯云)购买云服务器(可以免费试用),这里以腾讯云为例。

然后创建服务器,选择常见linux的发型版本,centos、debian、ubuntu 啥的都行。
我这里使用宝塔linux面板,地区可以选择离自己现在所处位置近的。

点击立即使用,

创建成功之后会发通知,点击跳转,

(2)在这个控制台页面就可以看到了。

2、获取面板地址
(1)然后点击登录,

等登录到面板,输入以下命令查看面板地址:
sudo /etc/init.d/bt default

(2)找到防火墙页面,

添加8888端口后,访问上面的外网地址,

可以看到已经添加成功了,

二、jdk和数据库
1、安装环境
(1)复制外网面板地址,浏览器打开,就可以进入宝塔面板腾讯云专项网网页,


然后登录到宝塔面板,账号密码是上面命令生成的账号密码。

进入之后,需要绑定宝塔官网账号,如果没有的话,需要注册一下。
(2)找到左侧的软件商店,搜索应用并且安装以下(如果没有用到redis,可以不用安装):
如果需要其他环境自行下载。



一共安装了这么多,

2、安装Java环境jdk
(1)要先安装Java环境(根据项目情况选择)
点击宝塔面板左侧的网站 - Java项目 - Java环境管理 - 安装Java环境,

此处我选择的是jdk8,等待安装完成,可以看到,

然后需要在文件中加入以下(注意修改成自己的jdk路径):
(2)打开宝塔面板左侧的终端,输入以下命令打开文件:
vim /etc/profile
或者直接找到文件/etc/profile,进入编辑模式,

在文件中加入以下(注意修改成自己的jdk路径):
# jdk解压后的目录路径
export JAVA_HOME=/www/server/java/jdk1.8.0_371
export JRE_HOME=/www/server/java/jdk1.8.0_371/jre
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

然后按esc,输入:wq保存文件。
(3)然后,我们需要更新一下这个文件/etc/profile,使用下列命令,
source /etc/profile
打开菜单左侧的终端,输入以下命令查看java版本:
java -version

就可以看到jdk的版本了。
3、添加数据库
(1)点击左侧的数据库,添加数据库。用户名和密码自己设置,

添加完成之后,可以在面板中看到了。

(2)添加后,导入数据库表,

将以sql为后缀的文件上传,此文件即建表语句。
(3)然后点击工具,可查看是否成功建表。

(4)要想查看数据库中表导入数据是否成功,可以通过我们之前安装的这个phpMyAdmin 5.0,

进入宝塔面板左侧的数据库,点击phpMyAdmin,选择面板访问,

进入之后,会生成下面这个页面,可以可视化数据库表的数据。

三、前端部署
1、修改后台服务所在源
打开前端项目,找到request.ts文件,修改后台服务所在ip,

2、vue build
如果前端是vue工程,进入到vue文件下,cmd进入命令行,输入npm run build打包。

打包成功后会出现dist文件,


将dist文件拖到宝塔面板文件里,此处我的路径是/www/wwwroot。

2、创建站点
(1)点击左侧的网站添加站点。
其中,需要点击安装ftp,

安装完成之后,添加ip或域名,

(2)找到网站目录,定位到上面添加的dist文件位置,最后不要忘记保存!

然后在浏览器中通过ip可以访问到前端页面了(能看到就行,其他问题往后看)。
四、后端部署
1、修改application.yml
修改数据库连接池,并设置后端端口号(记住端口号)

2、idea打包

打包后,工程target文件下会生成jar包,

将jar包拖到宝塔面板文件里。
前后端文件如下:

3、运行jar包
方式一:在终端命令运行jar包
(1)打开服务器终端,输入以下命令跳转文件。如:cd /www/wwwroot
cd jar包存放位置
临时运行jar包(输入java -jar 后,再输入jar包的前面几个字母然后按tab键可以补全名称):
java -jar jar包
启动之后,

然后,在浏览器进入地址,就可以看到后端正常启动了。

(2)如果想要服务器一直运行jar包(关闭页面后也会运行),输入以下命令:
nohup java -jar jar包 &

方式二:添加Java站点(服务器和面板都开一下端口)
直接添加这个 java 项目的端口,
- 项目jar路径:选择上传的jar包路径位置
- 项目端口:要和自己的项目端口一样
- 项目jdk:已安装的jdk
- 项目执行命令:是自动生成的
- 开机启动:选择

4、开放端口
点击左侧的安全,添加用到的端口,

腾讯云网页那边也要添加上,

五、测试
(1)我在站点里设置的后端端口是8101,
在浏览器中输入后端的某个路径,就可以看到后端可以正常访问了,

(2)前端也可以了,我在站点里设置的前端端口是8080,因此ip+8080访问,
打开服务器对应网站(服务器ip地址+域名号),刷新即可,

六、可能遇到的问题
1、404
此问题可能由vue的路由引起,需要nginx配置一下。
打开nginx配置,找到nginx位置。打开以你ip命名的conf文件,在server里添加一行命令,然后重载nginx。
详情请移步我的另一篇博客Vue项目通过宝塔部署之后,页面刷新后浏览器404页面-CSDN博客
OK,问题成功解决了。
相关文章:
(亲测有效)SpringBoot+Vue项目云服务器部署(宝塔)
目录 一、准备工作 1、购买云服务器 2、获取面板地址 二、jdk和数据库 1、安装环境 2、安装Java环境jdk 3、添加数据库 三、前端部署 1、修改后台服务所在源 2、vue build 2、创建站点 四、后端部署 1、修改application.yml 2、idea打包 3、运行jar包 方式一&a…...
健康管理系统
目录 第1章 系统概述 第2章 可行性研究 2.1 项目背景及意义 2.2 可行性研究 第3章 需求分析 3.1 功能性需求 3.2 非功能性需求 3.2.1 性能需求 第4章 总体设计 4.1 技术架构 4.2功能模块设计 第5章 详细设计 5.1 主页 5.2 写剧本杀 5.3 剧本杀分类管理 5.4 个人…...
【计算机网络】网络基础概念
计算机网络发展 独立模式:最开始计算机之间相互独立,每个终端各自持有数据。 网络互联:多台计算机连接在一起,完成数据共享。 局域网 LAN:计算机数量增多,通过交换机和路由器连接在一起。 广域网 WAN: 将远…...
深入理解Spring的三级缓存机制
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱…...
LSTM长短时记忆网络【数学+图解】
文章目录 1、简介2、门控机制3、LSTM3.1、概念3.2、公式⭐3.3、特点 4、图解LSTM⭐4.1、RNN4.2、时间链条4.3、记忆单元🔺4.4、LSTM 5、LSTM与GRU的对比6、应用7、训练技巧 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博…...
Linux-入门-02
上节我们讲了如何安装虚拟机,本节课讲一些linux的常用命令,首先我们需要做一些配置,我们的centos的镜像是最小版安装,里面什么也没有,所以我们的linux是不能进行联网的,接下来我们就来一步一步联网 1、配置网络 首先我们需要先使用命令查看ip地址,linux中一切皆文件,只能使用命…...
Animate软件基本概念:基本形状、绘制对象及位图
这一篇讲Animate软件中的基本形状、绘制对象及位图三个概念。 FlashASer:AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer:实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 FlashASer&…...
Shell定时上传日志到HDFS
Shell定时上传日志到HDFS 一、任务需求二、实现思路三、具体实现流程3.1 规划文件上传目录3.2 开发 shell 脚本3.3 授予 shell 可执行权限3.4 手动执行查看3.4 定时执行 shell 脚本 一、任务需求 公司在线服务器每天都会产生网站运行日志,为了避免志文件过大&#…...
前端day3-表格
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>day3-表格</title> </head> <body&g…...
多进程系列:一个进程对应一个函数
多进程系列:一个进程对应一个函数 这里展示创建两个进程,一个进程用于执行分类模型,另外一个进程用于执行分割模型,以及获取结果的示例。 import multiprocessing import time def classify_data(data):# 这里放置分类任务的代…...
数据清洗与预处理:确保数据质量的关键步骤
数据清洗与预处理:确保数据质量的关键步骤 引言 在大数据时代,数据已成为企业最宝贵的资产。然而,数据的质量直接影响到分析结果和决策的准确性。数据清洗与预处理是确保数据质量的关键步骤,它们包括识别和处理数据中的错误、缺…...
《PostgreSQL 数据库在国内的发展前景》
从DB-engines这张2024年8月的最新排名图上可以看出,PostgreSQL数据库的发展趋势还是非常好的,在国内,PostgreSQL数据库也展现出令人振奋的发展前景,非常明显的一种表现就是腾讯云、人大金仓、阿里云、华为等众多厂商都有基于Postg…...
LVS部署DR集群
介绍 DR(Direct Routing):直接路由,是LVS默认的模式,应用最广泛. 通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址. 整个…...
《Linux运维总结:etcd 3.5.15集群数据备份与恢复》
总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、备份恢复说明 通常, 只需在其中一个节点上对 Etcd 进行快照,即可完成数据备份。但是, 数据恢复时必须要在每个节点上进行。 注意:即便是高可用 Etcd 集群…...
我在杭州的Day30_进程间通信(IPC)——20240805
一、相关练习 1.使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上一份 1.1> 01homework.c #include <myhead.h>int main(int argc, const char *argv[]) …...
FFmpeg推流
目录 一. 环境准备 二. 安装FFmpeg 三. 给docker主机安装docker服务 四. 使用 FFmpeg 进行推流测试 FFmpeg是一个非常强大的多媒体处理工具,它可以用于视频和音频的录制、转换以及流处理。在流处理方面,FFmpeg可以用来推流,即将本地媒体…...
【Rust光年纪】简化文件操作流程:深度剖析多款文件系统操作库
文件系统操作利器:介绍常用的文件操作库 前言 在现代软件开发中,文件系统操作是一个十分常见的需求。为了更加高效地进行文件系统操作,开发人员经常会使用各种文件系统操作库来简化开发流程、提高代码可维护性。本文将介绍几个常用的文件系…...
FFmpeg实现文件夹多视频合并
使用FFmpeg合并文件夹中的多个视频文件,可以通过多种方式来实现,具体取决于你希望如何合并这些视频文件。下面介绍两种常见的方法: 按顺序拼接多个视频文件: 适用于希望将多个视频文件按顺序合并成一个视频文件的情况。 将多个视…...
[设备] 关于手机设备中几种传感器的研究
一、手机设备中三位坐标系概念 X轴的方向:沿着屏幕水平方向从左到右,如果手机如果不是是正方形的话,较短的边需要水平 放置,较长的边需要垂直放置。Y轴的方向:从屏幕的左下角开始沿着屏幕的的垂直方向指向屏幕的顶端Z轴…...
C#通过Modbus读取温度和湿度
使用 C# 通过 RS-485 接口读取温湿度数据并在电脑上显示,需要使用串口通信。假设你的温湿度传感器使用 Modbus RTU 协议,这里提供一个示例代码,使用 System.IO.Ports 命名空间进行串口通信,并使用 Modbus 协议库 NModbus 进行通信…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
