liunx前后端分离项目部署

news2025/1/12 8:00:06

文章目录

  • 1、nginx的安装和自启动
  • 2.nginx负载均衡
  • 3.前后端项目部署-后端部署
  • 4.前后端项目部署-前端部署

1、nginx的安装和自启动

在这里插入图片描述

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

1.安装我们nginx所需要的依赖
在这里插入图片描述

wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz -C /usr/local/java/

2.下载并解压安装包

# 进入安装包目录
cd nginx-1.13.7
# 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
# 安装编译一下,一般我们编译完后/usr/local/
make && make install

3.安装nginx的ssl证书

在这里插入图片描述

1.conf是环境配置文件
2.html是静态资源
3.logs日志
4.sbin启动

4.这里就我们编译完后的文件夹。

在这里插入图片描述
5.我们进入sbin,将nginx启动,然后开放80端口

在这里插入图片描述
6.这样我们的nginx就已经安装成功了

在这里插入图片描述

7.如果我们需要nginx开机自启动电话我们就要去编辑rc.local这个文件,我们用vim进行编辑

在这里插入图片描述

8.进去之后我们输入自己nginx服务目录,保存退出

在这里插入图片描述

9.然后我们给rc.local授权让他变成可以执行文件,然后我们重启之后nginx也可以跟着自启动了

2.nginx负载均衡

在这里插入图片描述
1.昨天我们部署了tomcat,并且我们启用了开机自启动,所有我们首先将他给停掉

在这里插入图片描述

2.我们在回到tomcat跟目录下面将tomcat复制一份,一个端口8080,一个端口8081,

在这里插入图片描述
3.我们回到bin目录下面,将两个端口全部启动,第二个端口我们需要去修改她得端口号,将8080改为8081

在这里插入图片描述
4.把你所有的端口都往后面加1,使他与8080不一样

在这里插入图片描述
5.修改完成之后我们回到bin目录下面将8081端口启动,然后开放8081,端口进行一个外部访问了,效果就是我们输入8080和8081都可以访问tomcat了

在这里插入图片描述
6.之后我们回到/usr/local/nginx/conf/这个下面有一个nginx.conf文件
在这里插入图片描述
7.我们复制总路径,到右边打开,用记事本打开

在这里插入图片描述
8.用记事本打开之后,将我们的两个端口号添加服务器集群

在这里插入图片描述

9.添加之后我们还要去使用集群,用反相代理,使用tomcat_list集群

在这里插入图片描述
10.然后我们重启nginx,这样我们访问ip的时候就不需要加上8080,因为ip的端口默认就是80,这样子我们的负载均衡就已经搭好了

3.前后端项目部署-后端部署

在这里插入图片描述
1.我们cd 跳转到tomcat8080端口的webapps下面将我们项目的后端war包传进去(有多少个tomcat我们就需要将项目都传进去),然后进入bin目录下面启动tomcat

在这里插入图片描述
2.全部添加完成之后,我们用8080、8081都可以访问我们的后端项目数据了

4.前后端项目部署-前端部署

在这里插入图片描述
1.我们再/usr/local/姓名新建一共mypro文件夹用来存放我们的前端项目然后再进去文件夹,把我们的前端项目丢进去,进行一个解压(我们liunx里面没有zip的解压命令所以我们要下载一个命令yum install -y unzip)下载完成我们就可以进行一个解压了

在这里插入图片描述

2.我们解压完成之后,进入到我们的解压目录里面 pwd 复制路径把他配置到nginx里面去

在这里插入图片描述
3.我们cd 进入nginx里面在用cd 进入到conf里面找到nginx.conf这个文件,用记事本打开

在这里插入图片描述

server {
	listen       80;            #监听80端口,可以改成其他端口
	#server_name  localhost;    #当前服务的域名
	server_name  www.zking.com; #当前服务的域名(虚拟域名也可以)
	root         /usr/local/mypro/dist;      #将要访问的网站的根目录,nginx节点会自动继承父节点的配置;这里放到/usr/local/*,放到其他路径下会有权限相关问题;必要的时候配置Nginx.conf的user为root
 # 代理配置
	      location / {
			  #该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍 
		    try_files $uri $uri/  /index.html;
      }
	      location  ^~/api/ {
		  #^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/      *后面的路径直接拼接到后面,即移除api
		proxy_pass http://tomcat_list/;
	}

4.将图中的这个地方进行一个替换

在这里插入图片描述
5.我们刚刚配置了一个域名所以我们还要到C:\Windows\System32\drivers\etc\hosts这个路径下面去配置你的ip地址已经,域名名称

在这里插入图片描述
6.我们cd 回到/sbin下面重新启动nginx,

在这里插入图片描述
7.然后我们只输入ip地址就可以访问我们的前后端分离项目了

在这里插入图片描述
8.我们到tomcat文件夹下面的bin目录下面将8080端口停掉

在这里插入图片描述
9. 我们依然可以进行一个访问,如果我们将我们之前配置的两个tomcat都关闭的话就不能进行一个访问了

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

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

相关文章

S32 Design Studio PE工具配置TMR

配置步骤 配置内容 生成的配置结构体如下,在Generated_Code路径下的lpTmr.c文件和lpTmr.h文件。 /*! lpTmr1 configuration structure */ const lptmr_config_t lpTmr1_config0 {.workMode LPTMR_WORKMODE_PULSECOUNTER,.dmaRequest false,.interruptEnable tr…

《高质量的C/C++编程规范》学习

目录 一、编程规范基础知识 1、头文件 2、程序的板式风格 3、命名规则 二、表达式和基本语句 1、运算符的优先级 2、复合表达式 3、if语句 4、循环语句的效率 5、for循环语句 6、switch语句 三、常量 1、#define和const比较 2、常量定义规则 四、函数设计 1、参…

npm i卡在 idealTree buildDeps没反应的解决方案

通过git clone拉下项目后,进行项目的初始化下包时,发现npm i 并没有反应(如图): 关键点:IdealTree 1.网络问题 确保你的网络连接正常,能够正常访问 npm 仓库。有时网络问题可能导致包无法正确…

GitHub下载器,老司机懂的都懂!

有些老司机或者做项目的小伙伴对GitHub应该不陌生吧,然而GitHub的下载速度非常让人不忍直视! 而GitHub高速下载器是一款专门用于加速在GitHub上下载资源的软件,解决了许多用户在下载GitHub资源时遭遇的速度慢和下载失败的问题。 本教程将详细…

代码随想录算法训练营第62天 | 739.每日温度 496.下一个更大元素I

每日温度 如果我们单纯的遍历数组,我们不知道当前元素是否比之前的元素大,所以需要维护一个容器来记录遍历过的元素。 什么时候用单调栈?通常是一维数组,要寻找任一个元素的右边或左边第一个比自己大或小的元素的位置。时间复杂度…

Connection管理类实现(模块六)

目录 类功能 类定义 类实现 编译 本文使用了自定的Any类 Any类的简单实现-CSDN博客 类功能 类定义 // DISCONECTED -- 连接关闭状态 CONNECTING -- 连接建立成功-待处理状态 // CONNECTED -- 连接建立完成,各种设置已完成,可以通信状态 DISCONNECTING -- 待关闭状态 t…

每日五道java面试题之spring篇(六)

目录: 第一题 ApplicationContext通常的实现是什么?第二题 什么是Spring的依赖注入?第三题 依赖注入的基本原则第四题 依赖注入有什么优势?第五题 有哪些不同类型的依赖注入实现方式? 第一题 ApplicationContext通常的…

基于频率增强的数据增广的视觉语言导航方法(VLN论文阅读)

基于频率增强的数据增广的视觉语言导航方法(VLN论文阅读) 摘要 视觉和语言导航(VLN)是一项具有挑战性的任务,它需要代理基于自然语言指令在复杂的环境中导航。 在视觉语言导航任务中,之前的研究主要是在空间…

pycharm如何设置滚轮缩放代码大小?

左上角的File找到设置,或者快捷键ctrlalts。 弹出对话框,手动输入mouse,点击general,勾选改变字体大小,ok确认

转前端了!!

大家好,我是冰河~~ 没错,为了更好的设计和开发分布式IM即时通讯系统,也为了让大家能够直观的体验到分布式IM即时通讯系统的功能,冰河开始转战前端了。也就是说,整个项目从需求立项到产品设计,从架构设计到…

ubuntu20.04中配置Pyrep和CoppeliaSim

ubuntu20.04中配置Pyrep和CoppeliaSim 在Ubuntu20.04中配置 Pyrep ,实现应用Python语言的机器人在 Vrep(CoppeliaSim)中的虚拟仿真 一、安装CoppeliaSim 4.1 1.1 下载适配Ubuntu20.04的CoppeliaSim 4.1软件 下载链接:https://…

【前端素材】推荐优质后台管理系统Dashy平台模板(附源码)

一、需求分析 后台管理系统(或称作管理后台、管理系统、后台管理平台)是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成,为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…

Nginx实现平滑升级

平滑升级 本篇目标:将现有的 nginx 1.22.0 版本升级为 1.24.0 //查看现有版本 [root12 ~]# nginx -v nginx version: nginx/1.22.01、首先在官网下载软件包,地址:nginx: download 2、把要 1.24.0 拖进 /opt 目录后,解压&#xf…

抖店是怎么运营做起来的?一文详解抖店的运营逻辑和流程,可收藏

我是王路飞。 很多人都知道现在的抖音有【商城】,进入之后就是一个个的抖音小店了,也知道抖店的红利。 但是抖店具体是怎么运营并且做起来的,就不太清楚了,因此很多新手明明眼馋抖店的红利,却又无从下手。 今天这篇…

YOLOv9尝鲜测试五分钟极简配置

pip安装python包: pip install yolov9pip在https://github.com/WongKinYiu/yolov9/tree/main中下载好权重文件yolov9-c.pt。 运行下面代码: import yolov9model yolov9.load("yolov9-c.pt", device"cpu") # load pretrained or c…

Spring综合漏洞利用工具

Spring综合漏洞利用工具 工具目前支持Spring Cloud Gateway RCE(CVE-2022-22947)、Spring Cloud Function SpEL RCE (CVE-2022-22963)、Spring Framework RCE (CVE-2022-22965) 的检测以及利用,目前仅为第一个版本,后续会添加更多漏洞POC,以及…

【Flink精讲】Flink性能调优:CPU核数与并行度

常见问题 举个例子 提交任务命令: bin/flink run \ -t yarn-per-job \ -d \ -p 5 \ 指定并行度 -Dyarn.application.queuetest \ 指定 yarn 队列 -Djobmanager.memory.process.size2048mb \ JM2~4G 足够 -Dtaskmanager.memory.process.size4096mb \ 单个 TM2~8G 足…

【机器人学导论笔记】三、操作臂正运动学

3.1 概述 操作臂正运动学研究操作臂的运动特性,主要涉及与运动有关的几何参数和时间参数。本章中,只研究静止状态下操作臂连杆的位置和姿态。 处理这些复杂的几何参数需要一些步骤:首先需要在操作臂的每个连杆上分别固接一个连杆坐标系&…

基于ELFBoard开发板的车牌识别系统

本项目采用的是ElfBoard ELF1开发板作为项目的核心板,主要实现的功能为通过USB 摄像头对车牌进行识别,如果识别成功则会亮绿灯,并将识别的车牌号上传到手机APP上面,车牌识别的实现是通过百度OCR进行实现,手机APP是用Ja…

《低功耗方法学》翻译——第十四章:电源切换网络设计

第十四章:电源切换网络设计 功率门控是在待机或休眠模式下降低漏电功率最有效的方法,但这种方法存在诸如休眠晶体管占用的硅面积、永久和虚拟电源网络的布线资源以及复杂的功率门控设计和实现过程等开销,影响设计风险和进度。 除了开销外&a…