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

宝塔面板部署前后端项目SpringBoot+Vue2

这篇博客主要用来记录宝塔部署前端后端项目的过程。因为宝塔部署有点麻烦,至少在我看来挺麻烦的。我还是喜欢原始的ssh连接服务器进行操作。但是公司有项目用到了宝塔,没办法啊,只能摸索记录一下。

我们需要提前准备好后端项目的jar包和前端项目的dist文件哈!

文章目录

    • 前端项目的部署
    • 后端项目的部署
    • nginx反向代理的配置

前端项目的部署

先去文件里创建好项目文件,然后进去直接上传dist文件

在这里插入图片描述

在这里插入图片描述

把前端项目上传上去,然后解压:

在这里插入图片描述

接下来去创建网站、站点:

在这里插入图片描述

在这里插入图片描述

可以看到网站创建好了:

在这里插入图片描述

记住,这里目录要放到dist:

在这里插入图片描述在这里插入图片描述

后端项目的部署

再部署后端项目之前,需要准备好jar包

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

nginx反向代理的配置

反向代理配置在前端配置。

在这里插入图片描述

在这里插入图片描述

     # 前端配置location / {root /www/wwwroot/demo.html.test.jiekee.com/dist;  # 前端打包文件存放路径index index.html;try_files $uri $uri/ /index.html;  # 支持 vue-router 的 history 模式}# 后端接口代理location /api/ {proxy_pass http://localhost:37018/api/;  # 后端服务地址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;}

注:

工作流程:

  1. 前端发送请求到 /api/image/analyze
  2. Nginx 匹配到 location /api/
  3. 请求被转发到 http://127.0.0.1:37018/api/image/analyze
    如果我们不加 /api ,比如:
location /api/ {proxy_pass http://127.0.0.1:37018/;
}

那么请求会变成 http://127.0.0.1:37018/image/analyze ,这样就找不到后端的接口了,因为我们的后端 Controller 都是以 /api 开头的。

在这里插入图片描述

在这个项目中,Nginx 主要发挥了"中间层"的作用,具体表现在:

  1. 请求转发:

    • 当前端发送 /api/image/analyze 请求时
    • Nginx 接收到请求后,将其转发到后端服务(37018端口)
    • 这就是为什么前端代码中可以直接使用:
axios.post('/api/image/analyze', {base64Image: base64Image,textContent: this.analysisPrompt
})

如果不使用 Nginx,你需要: 1. 前端直接访问后端 IP:端口(例如 http://47.120.52.207:37018/api/…) 2. 处理跨域问题 3. 单独部署静态资源 所以 Nginx 在这里起到了统一入口、请求转发和资源管理的作用。不这样做,前端代码里就要写死各种端口了,这样做肯定不行的!

http://www.xdnf.cn/news/7034.html

相关文章:

  • 蓝桥杯19682 完全背包
  • 【通用大模型】Serper API 详解:搜索引擎数据获取的核心工具
  • iOS 初识RunLoop
  • 用 UniApp 开发 TilePuzzle:一个由 CodeBuddy 主动驱动的拼图小游戏
  • SpringBoot项目里面发起http请求的几种方法
  • EMQX开源版安装指南:Linux/Windows全攻略
  • 连续概率分布 (拉普拉斯分布)
  • Flink 的水印机制
  • 第三十七节:视频处理-视频读取与处理
  • PostGIS实现矢量数据转栅格数据【ST_AsRaster】
  • FFmpeg:多媒体处理的终极利器
  • 有哪些GIF图片转换的开源工具
  • Neo4j数据库
  • spark数据处理练习题详解【上】
  • 【AGI】大模型微调数据集准备
  • leetcodehot100刷题——排序算法总结
  • ubuntu18.04通过cuda_11.3_xxx.run安装失败,电脑黑屏解决办法
  • FastDFS分布式文件系统架构学习(一)
  • 给个人程序加上MCP翅膀
  • React Flow 边事件处理实战:鼠标事件、键盘操作及连接规则设置(附完整代码)
  • 数据脱敏-6种方案,你选哪种?
  • web系统安全管理
  • Ubuntu22.04开机运行程序
  • ubuntu 安装mq
  • JUC入门(一)
  • 【MYSQL】笔记
  • 多用途商务,电子产品发布,科技架构,智能手表交互等发布PPT模版20套一组分享
  • C++函数基础:定义与调用函数,参数传递(值传递、引用传递)详解
  • JAVA SE 多线程(上)
  • Linux编译rpm包与deb包