【宝塔部署SpringBoot前后端不分离项目】含域名访问部署、数据库、反向代理、Nginx等配置

news/2024/11/28 9:49:40/

一定要弄懂项目部署的方方面面。当服务器上部署的项目过多时,端口号什么时候该放行、什么时候才会发生冲突?多个项目使用redis怎么防止覆盖?Nginx的配置会不会产生站点冲突?二级域名如何合理配置?空闲的时候要自己用服务器试试,不然书到用时方恨少,项目紧急时赶不出来……

[0] 部署SpringBoot前后端不分离项目步骤

  1. 阿里云控制台“云解析DNS”添加二级域名站点 (可选)
  2. 阿里云控制台添加防火墙端口号、宝塔面板放行同样端口号 (可选)
  3. 宝塔面板安装JDK、Nginx、MySQL
  4. 导入数据库
  5. 修改数据库连接账号密码,打包项目
  6. 上传项目到指定位置,宝塔中添加Java站点

[1] 阿里云控制台“云解析DNS”添加二级域名站点 (可选)

  在阿里云控制台“云解析DNS”——“解析设置”中添加二级域名站点:

在这里插入图片描述

  添加二级域名的话,只需要填写图中框中的地方即可。

  为什么此步骤是可选的?因为有的人想要用一级域名(即www.xxxx.com)来访问站点,那么这里就不需要再来额外添加二级域名了。在DNS开始的时候,阿里云控制台就会解析几条域名数据,其中包含www。

[2] 阿里云控制台添加防火墙端口号、宝塔面板放行同样端口号 (可选)

  阿里云控制台放行防火墙端口号:

在这里插入图片描述
  在宝塔面板同样放行防火墙端口号:
在这里插入图片描述

  为什么此步骤是可选的?因为默认端口号80是放行的,可以直接使用80端口号。使用了nginx之后,多个站点可以使用同一个端口号。例如多个站点使用了80端口,一个请求过来时,nginx会监听80端口,然后根据不同站点的配置文件,把请求转发到不同位置。这就叫做反向代理。

[3] 宝塔面板安装JDK、Nginx、MySQL

  1、JDK是Java运行环境。

  2、Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。

  3、MySQL安装时要注意版本,一般是5.7或8.0。

  以上三者直接去宝塔应用商店安装即可。

[4] 导入数据库

  宝塔面板中创建数据库:
在这里插入图片描述

  创建好之后,把sql文件导入。

[5] 修改数据库连接账号密码,打包项目

  把SpringBoot项目中连接数据库文件的账号密码改成上图中的,然后把项目打包好成Jar包。

[6] 上传项目到指定位置,宝塔中添加Java站点

  上传项目到指定位置,这里的位置不太重要,随便那里都可以

  宝塔中添加Java站点:

在这里插入图片描述

  提交完成后,直接访问可能会报错502,耐心等一小会,项目就会完整启动了。

  nginx采用反向代理。我们用二级域名不加端口去访问,nginx将80端口获得的请求转发到nginx中的对应端口中,如上图设置的8752。

【注意】

  在阿里云“DNS解析”中添加放行端口时,有时间延迟,要耐心等一会;


http://www.ppmy.cn/news/24364.html

相关文章

Vulkan Graphics pipeline Dynamic State(图形管线之动态状态)

Vulkan官方英文原文:请见 Vulkan 1.3.236 - A Specification 10.9 章节。对应的Vulkan技术规格说明书版本: Vulkan 1.3.2A dynamic pipeline state is a state that can be changed by a command buffer command during the execution of a command buff…

MongoDB--》MongoDB数据库以及可视化工具的安装与使用—保姆级教程

目录 数据库简介 MongoDB数据库的安装 MongoDB数据库的启动 MongoDB数据库环境变量的配置 MongoDB图形化管理工具 数据库简介 在使用MongoDB数据库之前,我们应该要知道我们使用它的原因: 在数据库当中,有常见的三高需求: Hi…

计算机网络之HTTP04ECDHE握手解析

DH算法 离散读对数问题是DH算法的数学基础 (1)计算公钥 (2)交换公钥,并计算 对方公钥^我的私钥 mod p 离散对数的交换幂运算交换律使二者算出来的值一样,都为K k就是对称加密的秘钥 2. DHE算法 E&#…

Elasticsearch:获取 nested 类型数组中的所有元素

在我之前的文章 “Elasticsearch: object 及 nested 数据类型” 对 nested 数据类型做了一个比较详细的介绍。在实际使用中,你在构建查询时肯定会遇到一些问题。根据官方文档介绍,nested 类型字段在隐藏数组中索引其每个项目,这允许独立于索引…

全景拼接python旗舰版

前言在这个项目中,您将构建一个管道,将几幅图像拼接成一个全景图。您还将捕获一组您自己的图像来报告最终的结果。步骤1 特征检测与描述本项目的第一步是对序列中的每幅图像分别进行特征检测。回想一下我们在这个类中介绍过的一些特征探测器:…

Java:SpringMVC的使用(2)

目录第十二章 REST风格CRUD练习12.1 搭建环境12.2 实现功能思路第十三章 SpringMVC消息转换器13.1 消息转换器概述13.2 使用消息转换器处理请求报文(1) 使用RequestBody获取请求体(2) 使用HttpEntity\<T>获取请求体及请求头13.3 使用消息转换器处理响应报文(1) 使用Respo…

详解Python正则表达式中group与groups的用法

在Python中&#xff0c;正则表达式的group和groups方法是非常有用的函数&#xff0c;用于处理匹配结果的分组信息。 group方法是re.MatchObject类中的一个函数&#xff0c;用于返回匹配对象的整个匹配结果或特定的分组匹配结果。而groups方法同样是re.MatchObject类中的函数&am…

Python爱心代码

前言 Python漂浮爱心&#xff0c;具体源码见&#xff1a;Python动态爱心代码_爱心代码-Python文档类资源-CSDN下载 爱心类 class Heart(): #每个爱心&#xff08;爱心类&#xff09; def __init__(self): self.r ra.randint(10,15) #爱心的半径 …