若依分离版本部署流程—开启HTTPS访问。

news2024/11/15 12:17:33

目录

 前言

一、申请证书

 二、后端打包

三、前端打包

 四、服务器部署

① Redis启动

 ② 运行Jar包

③ 上传ssl证书到服务器

④ Nginx配置前端部分

 五、访问


 前言

若依分离版本的项目部署过程中,跟大多数前后端分离项目差不多,都是前后端分别打包到服务器配置启动这都没什么问题,重点就是启动之后的前后端接口访问联调上,因为存在代理转发等问题,导致部署可能会成为较花时间的一项流程。

此文章演示说明使用HTTPS协议和域名访问到部署项目的流程,部署流程千千万,在此仅提供一种思路供参考。

一、申请证书

因为需要开启HTTPS协议的访问,则需要到你自己的域名处申请对应证书。

不知道申请流程 点击这里,或自行百度。

 二、后端打包

配置好数据库连接信息

② 配置证书路径密码,注意:后端为Tomcat证书

后端打包,然后将jar包上传服务器

证书配置,开启HTTPS: 

server:
  # 服务器端口,自己定
  port: 8081
  ssl:
    protocol: TLS
    key-store: classpath:scs1722412621641_ry.m***.cn_server.jks
    key-store-password: Qf5.n^@***gyu  

 打包:

三、前端打包

 直接执行打包命令npm run build:prod,代理转发到nginx反向代理去做。

 四、服务器部署

① Redis启动

 使用命令:nohup ... & ,把redis服务丢到后台运行,并当前目录生成一个日志文件记录日志。

 ② 运行Jar包

  • 先使用java -jar命令在前台运行,看jar包是否能跑起来。

        在此注意检查数据库的连接Redis是否正常。

  • 没问题就使用nohup java -jar ... &放后台去运行。

③ 上传ssl证书到服务器

上传Nginx的ssl证书到服务器,目的是提供给nginx配置中引用。

位置随便放,记住路径到nginx配置上就行。 

④ Nginx配置前端部分

dist包上传到服务器上任意位置,记住路径,到nginx配置文件nginx.conf中配置前端文件路径反向代理

打开配置文件进行配置:

 Nginx配置说明:

① 上图静态资源的路径就是dist包下的资源路径,配置好。

② 修改好nginx配置之后,记住使用命令:nginx -s reload 重载配置文件。

	# 若依后台管理端
	server {
		listen       443 ssl;
		server_name  ry.meibug.cn;
		
		# ssl证书的pem文件路径
		ssl_certificate  /card/ry/scs1722412621641_ry.m***.cn_server.crt;
		# ssl证书的key文件路径
		ssl_certificate_key /card/ry/scs1722412621641_ry.m***.cn_server.key;
		
		location /prod-api {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			rewrite ^/prod-api/(.*)$ /$1 break;
			proxy_pass https://localhost:8081;
		}
		
		location /{
			root   html/ryVue3;
			index  index.html  index.html;
			try_files $uri $uri/ /index.html;
		}

	}

 五、访问

 至此部署已完毕。

记录一个错误(根据上方流程不会出现此错误):

访问时反复提示:【登录状态已过期,您可以继续留在该页面,或者重新登录】

发现是前端访问后端接口路径的问题,代理转发地址未过滤后端接口访问前缀/dev-api,根据上方nginx配置将前缀去除问题解决。在前端的vite.config.js中存在代理转发的前缀去除操作,但是我修改并没有效果,因此在打包时就没有修改前端配置,最后到nginx反向代理中做处理解决掉了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大型边缘物联平台实战系列01-为什么我们放弃Springboot选择了Nestjs?

引言 我真的很爱Nestjs,那是一种很纯粹、很理性的爱,四年了,我每天都在用它…哦,不对,是我们都在用它。 四年前,在那场剑拔弩张的技术选型会议上,经过十几轮Battle,楼主力排众议将…

MySQL:ORDER BY 排序查询

通过 ORDER BY 条件查询语句可以查询到符合用户需求的数据,但是查询到的数据一般都是按照数据最初被添加到表中的顺序来显示。 基本语法 在MySQL中,排序查询主要通过ORDER BY子句实现。其基本语法如下: SELECT column1, column2, ... FR…

阿里云上进行开发

目的: 直接在阿里云的ECS上面写代码学代码,而不是在本机上写好以后进行部署。 已有前提: 1,WSL 2, vscode 3,阿里云 47.120.66.77 4,通过WSL的 ssh root47.120.66.77 远程登录阿里云。 …

我的《Java全栈高级架构师高薪就业课》学完有什么收获?

我的《Java全栈高级架构师高薪就业课》上线了~ 这是一套Java全栈微服务架构、以实战项目驱动的课程!包含34个模块,1514课时。对标阿里P7级别技术栈而研发,有着循序渐进的学习体系,助你开启Java进阶之旅。 学完我的这套《Java全栈高…

学习测试16-仪表项目

项目框架 项目地址 车厂:oem 主机厂 厂商 – 长城魏牌、问界、小米 车型:魏牌c01 供应商:XXX有限公司 人员:总动15人,两种车型,两个组,4人写用例(30天,每天100条&#x…

关于实时ODS层数仓搭建的三个问题

目录 问题一:数据同步的实时性无法满足 问题二:批量数据同步计算处理效率低 问题三:没有稳定的数据传输管道 FineDataLink的解决方案 实战案例-销售部门与财务部门数据同步 设置ODS层实时同步任务 设置DW层增量数据同步 设置 DM 层任务汇总 关…

基于YOLOv5的智能路面病害检测系统

随着城市化进程的加速发展,公路基础设施的维护变得日益重要。路面病害,如裂缝、坑洼等,不仅影响行车安全,还会缩短道路使用寿命。因此,快速准确地检测并评估这些病害成为了一个关键任务。本项目旨在开发一款基于YOLOv5…

【常用小机器】下载保存语雀文档

安装工具 npm i -g yuque-dl检查安装: yuque-dl -h私有库 通过别人私有知识库 分享的链接,需使用-t添加token(cookie中_yuque_session的值)才能下载 yuque-dl "https://www.yuque.com/yuque/thyzgp" -t "abcd.…

GD32 ADC模数转换器

前言: ... 1:简介 12 位 ADC 是一种采用逐次逼近方式的模拟数字转换器。它有 18 个多路复用通道,可以转换来自 16 个外部通道和 2 个内部通道的模拟信号。模拟看门狗允许应用程序来检测输入电压是否超出用户设定的高低阈值。各种通道的 A/D …

解决m-tabbar部分页面元素浮动导致第一个单元格元素点击失效问题

工作中遇到一个神奇的bug,代码没有问题点击第一个单元格的时候无法正常点击,通过调试工具定位发现是m-tabbar组件的m-tabbar-box元素有浮动导致了点击失效。 解决办法1: 设置元素的z-index大于tabbar的,这样要对页面元素底部做一…

VMware虚拟机设置桥接网络固定IP

VMware虚拟机设置桥接网络固定IP 在VMware虚拟机中设置桥接网络并固定IP地址,主要涉及到几个步骤:设置虚拟网络编辑器、配置虚拟机的网络适配器,以及修改虚拟机内的网络配置文件。以下是详细的步骤说明: 设置虚拟网络编辑器 以…

[ BLE4.0 ] 伦茨ST17H66开发-ADC采集电压数据-ADC中断采集-ADC单端输入与差端输入

目录 一、前言 二、采集模式 三、详细步骤 3.1 引脚选择 3.2 代码实现 3.2.1 导入库文件 3.2.2 模式选择 3.2.3 bypass模式 3.2.4 attenuation模式 3.2.5 代码配置 四、效果展示 一、前言 使用单片机面对数据采集时,往往设计到模拟量的采集,因此&…

【进制转换】《进制大乱斗,谁才是真正的赢家!》

目录 进制转换详解1. 引言2. 进制简介2.1 十进制2.2 二进制2.3 八进制2.4 十六进制 3. 进制转换方法3.1 十进制转二进制3.2 二进制转十进制3.3 十进制转八进制3.4 八进制转十进制3.5 十进制转十六进制3.6 十六进制转十进制3.7 二进制转八进制3.8 八进制转二进制3.9 二进制转十六…

缓存穿透

目录 概念 业务逻辑改造 代码实现 概念 用户请求查询的数据在缓存和数据库中都没有,那么最终请求都会进入到数据库,缓存会失效 两种解决方法:缓存NULL对象,使用布隆过滤器 业务逻辑改造 代码实现 解决缓存穿透问题public Shop…

3.redis客户端

1.命令行客户端 在安装redis的时候就已经安装好了,就是redis-cli redis-cli -h 127.0.0.1 -p 6379 -a 123456 -a 表示密码 -h 表示ip,不配置默认为本机 127.0.0.1 -p 表示端口,不配置默认为 6379 进入后可以输入ping,返回pong代表…

【C++】实验十三

题目: 1、声明Point(点)类,由Point类派生出Circle(圆)类,再由Circle类派生出Cylinder(圆柱)类。将类的定义部分分别作为3个头文件。对它们的成员函数的声明部分分别作为…

【数据结构算法经典题目刨析(c语言)】链表的回文结构(图文详解)

💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:数据结构经典题目刨析(c语言) 目录 一、题目描述 二、解题思路 三、代码实现(C语言) 回文结构(Palindromic structure)是指一个序列或字符串从前往…

C++多线程常用的几种实现方式

1、std::thread C11标准之后便引入了线程库std::thread。无论是windows或是Linux开发者都可以非常简单的通过这种方式&#xff0c;在C程序中创建和管理线程。 示例代码&#xff1a; #include <unistd.h> #include <iostream> #include <thread>void thread…

App 自动化测试调研

App 自动化测试调研 App 自动化测试的价值 App 自动化测试在软件开发过程中扮演着重要的角色&#xff0c;具有以下几个方面的价值&#xff1a; 1.提高测试效率和覆盖率&#xff1a;自动化测试可以执行大量的测试用例&#xff0c;覆盖各种功能和场景&#xff0c;相比手动测试…

BootStrapBlazor中MultiSelect组件在表格中使用时存在的问题

仅作记录&#xff0c;备以后回忆 在Table中使用了双击弹出编辑框来修改数据&#xff0c;正好逆变器需要多选&#xff0c;就使用了MultiSelect组件&#xff0c;结果发现它选择后没有任何效果&#xff0c;不会显示&#xff0c;但是保存后发现它是有数据的&#xff0c;网上搜了下…