当前位置: 首页 > news >正文

(亲测有效)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] &#x1f4f1…...

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…...

多进程系列:一个进程对应一个函数

多进程系列&#xff1a;一个进程对应一个函数 这里展示创建两个进程&#xff0c;一个进程用于执行分类模型&#xff0c;另外一个进程用于执行分割模型&#xff0c;以及获取结果的示例。 import multiprocessing import time def classify_data(data):# 这里放置分类任务的代…...

数据清洗与预处理:确保数据质量的关键步骤

数据清洗与预处理&#xff1a;确保数据质量的关键步骤 引言 在大数据时代&#xff0c;数据已成为企业最宝贵的资产。然而&#xff0c;数据的质量直接影响到分析结果和决策的准确性。数据清洗与预处理是确保数据质量的关键步骤&#xff0c;它们包括识别和处理数据中的错误、缺…...

《PostgreSQL 数据库在国内的发展前景》

从DB-engines这张2024年8月的最新排名图上可以看出&#xff0c;PostgreSQL数据库的发展趋势还是非常好的&#xff0c;在国内&#xff0c;PostgreSQL数据库也展现出令人振奋的发展前景&#xff0c;非常明显的一种表现就是腾讯云、人大金仓、阿里云、华为等众多厂商都有基于Postg…...

LVS部署DR集群

介绍 DR&#xff08;Direct Routing&#xff09;&#xff1a;直接路由&#xff0c;是LVS默认的模式&#xff0c;应用最广泛. 通过为请求报文重新封装一个MAC首部进行转发&#xff0c;源MAC是DIP所在的接口的MAC&#xff0c;目标MAC是某挑选出的RS的RIP所在接口的MAC地址. 整个…...

《Linux运维总结:etcd 3.5.15集群数据备份与恢复》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、备份恢复说明 通常, 只需在其中一个节点上对 Etcd 进行快照,即可完成数据备份。但是, 数据恢复时必须要在每个节点上进行。 注意:即便是高可用 Etcd 集群…...

我在杭州的Day30_进程间通信(IPC)——20240805

一、相关练习 1.使用有名管道实现&#xff0c;一个进程用于给另一个进程发消息&#xff0c;另一个进程收到消息后&#xff0c;展示到终端上&#xff0c;并且将消息保存到文件上一份 1.1> 01homework.c #include <myhead.h>int main(int argc, const char *argv[]) …...

FFmpeg推流

目录 一. 环境准备 二. 安装FFmpeg 三. 给docker主机安装docker服务 四. 使用 FFmpeg 进行推流测试 FFmpeg是一个非常强大的多媒体处理工具&#xff0c;它可以用于视频和音频的录制、转换以及流处理。在流处理方面&#xff0c;FFmpeg可以用来推流&#xff0c;即将本地媒体…...

【Rust光年纪】简化文件操作流程:深度剖析多款文件系统操作库

文件系统操作利器&#xff1a;介绍常用的文件操作库 前言 在现代软件开发中&#xff0c;文件系统操作是一个十分常见的需求。为了更加高效地进行文件系统操作&#xff0c;开发人员经常会使用各种文件系统操作库来简化开发流程、提高代码可维护性。本文将介绍几个常用的文件系…...

FFmpeg实现文件夹多视频合并

使用FFmpeg合并文件夹中的多个视频文件&#xff0c;可以通过多种方式来实现&#xff0c;具体取决于你希望如何合并这些视频文件。下面介绍两种常见的方法&#xff1a; 按顺序拼接多个视频文件&#xff1a; 适用于希望将多个视频文件按顺序合并成一个视频文件的情况。 将多个视…...

[设备] 关于手机设备中几种传感器的研究

一、手机设备中三位坐标系概念 X轴的方向&#xff1a;沿着屏幕水平方向从左到右&#xff0c;如果手机如果不是是正方形的话&#xff0c;较短的边需要水平 放置&#xff0c;较长的边需要垂直放置。Y轴的方向&#xff1a;从屏幕的左下角开始沿着屏幕的的垂直方向指向屏幕的顶端Z轴…...

C#通过Modbus读取温度和湿度

使用 C# 通过 RS-485 接口读取温湿度数据并在电脑上显示&#xff0c;需要使用串口通信。假设你的温湿度传感器使用 Modbus RTU 协议&#xff0c;这里提供一个示例代码&#xff0c;使用 System.IO.Ports 命名空间进行串口通信&#xff0c;并使用 Modbus 协议库 NModbus 进行通信…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...