【Linux】Linux+Nginx部署项目(负载均衡动静分离)
🥳🥳Welcome Huihui's Code World ! !🥳🥳
接下来看看由辉辉所写的关于Linux的相关操作吧
目录
🥳🥳Welcome Huihui's Code World ! !🥳🥳
一.Nginx负载均衡
1.什么是负载均衡
2.实现负载均衡的步骤
①Nginx安装
一键安装4个依赖
解压安装包
进入安装包目录
②启动 nginx 服务
进入到指定目录
启动
检测是否成功启动
③开放防火墙的80端口
开放端口
查看防火墙列表
在地址栏输入你的ip
④准备2个tomcat
进入到tomcat所在的目录
启动tomcat
⑤配置Nginx
进入指定目录
修改nginx.conf
重启nginx
⑥部署项目
将项目上传到服务器
导入数据脚本
重启两个服务器
在浏览器访问
二.动静分离【部署项目前端】
1.什么是动静分离
2.实现动静分离的步骤
①进入到指定目录
②上传文件
③解压项目压缩包
下载插件
解压
④Nginx配置
⑤浏览器访问
⑥添加映射关系
⑦在浏览器再次访问
一.Nginx负载均衡
1.什么是负载均衡
负载均衡是一种分布式计算技术,用于在计算机网络或服务器集群中分配工作负载,以实现资源的优化利用和提高系统性能。当一个系统面临大量的请求时,负载均衡可以将这些请求平均地分配给多个服务器或计算节点,确保每个服务器都能够承担适当的负载。
负载均衡的主要目标是避免某些服务器负载过重,而其他服务器处于空闲状态的情况,从而提高整个系统的吞吐量、响应速度和可靠性。通过合理地分发请求,负载均衡可以确保每个服务器都能够充分利用其计算和存储资源,并且在某个服务器出现故障时,其他服务器可以接管其工作,保证系统的连续性和可用性。
2.实现负载均衡的步骤
①Nginx安装
一键安装4个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
解压安装包
【我已经上传了安装包,可以自行到网上下载安装包,不会上传的可以看上篇博文】
下载安装包 wget http://nginx.org/download/nginx-1.13.7.tar.gz解压安装包 tar -xvf nginx-1.13.7.tar.gz
进入安装包目录
cd nginx-1.13.7
编译,执行配置
考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
安装
make && make install
②启动 nginx 服务
进入到指定目录
cd /usr/local/nginx/sbin
启动
./nginx检测是否成功启动
#下载插件 yum install lsof
#查看Nignx是否启动 lsof -i:80出现下图中的命令行说明以及成功启动啦
③开放防火墙的80端口
开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
查看防火墙列表
firewall-cmd --reload && firewall-cmd --list-port
在地址栏输入你的ip
④准备2个tomcat
进入到tomcat所在的目录
复制tomcat
修改端口号
#第2个修改的配置如下 1. HTTP端口,默认8080,如下改为8081 2.远程停服务端口,默认8005,如下改为8006 3.AJP端口,默认8009,如下改,8010
启动tomcat
如果在浏览器能够出现下图效果,便说明已经成功啦
⑤配置Nginx
进入指定目录
cd /usr/local/nginx/conf
修改nginx.conf
#服务器的集群upstream tomcat_list { #服务器集群名字server 127.0.0.1:8080 weight=1; #服务器1 weight是权重的意思,权重越大,分配的概率越大。server 127.0.0.1:8081 weight=2; #服务器2 weight是权重的意思,权重越大,分配的概率越大}
重启nginx
需要进入到/usr/local/nginx/sbin目录下操作
cd /usr/local/nginx/sbin./nginx -s reload
这样在浏览器直接输入ip就可以进入啦
⑥部署项目
将项目上传到服务器
两个服务器都需要进行这个操作
导入数据脚本
重启两个服务器
在浏览器访问
二.动静分离【部署项目前端】
1.什么是动静分离
动静分离(Dynamic-Static Separation)是一种将动态内容和静态内容分开处理的技术。在网络应用中,动态内容通常是指根据用户请求生成的、实时变化的数据,而静态内容则是指不变的、相对固定的文件,如HTML、CSS、JavaScript、图片等。
动静分离的目的是优化网站或应用程序的性能和可扩展性。通过将静态内容与动态内容分别存储和处理,可以提高系统的响应速度、减轻服务器负载,并降低带宽消耗。
动静分离可以提升性能,静态资源可以被缓存,减少了服务器生成内容的压力,加快了网页加载速度。减轻服务器负载,静态资源可以由CDN等专门的服务器提供,减轻了应用服务器的负载。节省带宽成本,通过CDN分发静态内容,可以减少对服务器带宽的需求,降低带宽成本
2.实现动静分离的步骤
①进入到指定目录
在此目录下创建一个mypro文件夹用来存放项目
②上传文件
③解压项目压缩包
下载插件
yum install -y unzip
解压
需要进入到压缩包所在的目录下进行解压
unzip blog.zip
④Nginx配置
这个配置与负载均衡中的nginx配置一致,在这里就不做过多赘述
location ^~/api/ {#^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除apiproxy_pass http://tomcat_list/;}
最后重启nginx即可
⑤浏览器访问
⑥添加映射关系
进入到电脑指定目录
C:\Windows\System32\drivers\etc\hosts打开文件进行编辑
⑦在浏览器再次访问
好啦,今天的分享就到这了,希望能够帮到你呢!😊😊
相关文章:
【Linux】Linux+Nginx部署项目(负载均衡动静分离)
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Linux的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Nginx负载均衡 1.什么是负载均衡 2.实…...
C++笔记之vector的成员函数swap()和data()
C笔记之vector的成员函数swap()和data() 标准C中的std::vector类确实有swap()和data()这两个成员函数。下面是它们的简要描述: swap(): std::vector的swap()成员函数用于交换两个向量的内容,实现了高效的交换操作,不需要复制向量的元素。这…...
Linux centos环境 安装谷歌浏览器
教程 地址...
go-gin-vue3-elementPlus带参手动上传文件
文章目录 一. 总体代码流程1.1 全局Axios部分样例1.2 上传业务 二. 后端部分三. 测试样例 go的mvc层使用gin框架. 总的来说gin的formFile封装的不如springboot的好.获取值有很多的坑. 当然使用axios的formData也有不少坑.现给出较好的解决办法 以下部分仅贴出关键代码 一. 总…...
艺术的维度:洞察AI诈骗,优雅防范之艺术
当前,AI技术的广泛应用为社会公众提供了个性化智能化的信息服务,也给网络诈骗带来可乘之机,如不法分子通过面部替换语音合成等方式制作虚假图像、音频、视频仿冒他人身份实施诈骗、侵害消费者合法权益。 以下是一些常见的AI诈骗例子…...
JavaScript的作用域和作用域链
作用域 ● 作用域(Scoping):我们程序中变量的组织和访问方式。"变量存在在哪里?“或者"我们可以在哪里访问某个变量,以及在哪里不能访问?” ● 词法作用域(Lexical scopingÿ…...
电脑文件批量重命名攻略:高效操作技巧助您轻松完成任务
在日常使用电脑时,我们经常需要对文件进行重命名。当文件数量众多时,手动重命名既耗时又容易出错。此时,借助一些实用技巧,我们可以轻松地完成电脑文件的批量重命名。本文将提供一份全面的电脑文件批量重命名攻略,帮助…...
四、三种基本程序结构
1、程序结构 (1)在C语言程序中,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构。 顺序结构:按照事务本身特性,必须一个接着一个来完成。选择结构:到某个节点后,会根据一次判断结果来决定之后…...
深入理解元素的高度、行高、行盒和vertical-align
1.块级元素的高度 当没有设置高度时,高度由内容撑开,实际上是由行高撑开,当有多行时,高度为每行的行高高度之和。 行高为什么存在? 因为每行都由一个行盒包裹,行高实际上是行盒的高度。 2.什么是行盒&am…...
什么叫储能能量管理单元EMU?储能能量管理单元EMU功能?储能EMU是什么?储能能量管理系统如何实现一次调频AGC-AVC功能?
一:储能EMU是什么意思?什么叫储能能量管理单元EMU? EMU是能量管理单元的英文缩写 (Energy Management Unit, EMU) EmuPower3300能量管理单元EMU是由广州智昊电气研发配套EsccPower3300储能协调管理器组成对光伏电站的管理,控制,…...
机器学习之决策树
决策树: 是一种有监督学习方法,从一系列有特征和标签的数据中总结出决策规则,并采用树状图的结构来呈现规则,用来解决分类和回归问题。 节点:根节点:没有进边,有出边。包含最初的,针…...
聊聊logback的UNDEFINED_PROPERTY
序 本文主要研究一下logback的UNDEFINED_PROPERTY substVars ch/qos/logback/core/util/OptionHelper.java public static String substVars(String input, PropertyContainer pc0, PropertyContainer pc1) {try {return NodeToStringTransformer.substituteVariable(input,…...
记一次pdjs时安装glob出现,npm ERR! code ETARGET和npm ERR! code ELIFECYCLE
如往常一样,我使用pdjs来编译proto文件,但出现了以下报错: 大致就是pdjs的util在尝试执行npm install glob^7.2.1 escodegen^1.13.0时出错了 尝试手动执行安装,escodegen被正确安装,但glob^7.2.1出错 npm ERR! code E…...
Zabbix如何监控腾讯云NAT网关
1、NAT网关介绍 NAT 网关(NAT Gateway)是一种支持 IP 地址转换服务,提供网络地址转换能力,主要包括SNAT(Source Network Address Translation,源网络地址转换)和DNAT(Destination N…...
SpringBoot案例(数据层、业务层、表现层)
1.创建项目 2.选择坐标 3.添加坐标 说明:为了便于开发,引入了lombak坐标。 <!--添加mybatis-plus坐标--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><ver…...
交叉编译程序:以 freetype 为例
1 程序运行的一些基础知识 1.1 编译程序时去哪找头文件? 系统目录:就是交叉编译工具链里的某个 include 目录;也可以自己指定:编译时用 “ -I dir ” 选项指定。 1.2 链接时去哪找库文件? 系统目录&#…...
spring-cloud-starter-dubbo不设置心跳间隔导致生产者重启no Provider问题记录
版本 spring-cloud-starter-dubbo-2.2.4.RELEASE 问题描述 生产者重启后,正常注册到注册中心,但是消费者调用接口是no provider,偶现,频繁出现 解决办法 先说原因和解决办法,有兴趣可以看下问题的排查过程。 原因…...
【数据结构】败者树的建树与比较过程
文章目录 前置知识归并段 建树过程比较过程疑问为什么比较次数减少了?如果某个归并段的元素一直获胜,没有元素了怎么办?处理方法 1处理方法 2 前置知识 归并段 外部排序算法通常用于处理大规模数据,其中数据量远超过计算机内存的…...
GlobalMapper---dem生成均匀分布的网格,或者均匀分布的点高程点
1打开DEM数据。点击工具栏上的Open Data File(s)按钮,打开DEM数据 2点击【Create Grid】按钮 3生成点 4导出格式xyz 5南方cass展点 6过滤抽稀...
k8s系列文章一:安装指南
前言 k8s是docker的升级版,可用于docker集群配置管理微服务 一、更新ubuntu系统版本 sudo apt update sudo apt upgrade二、添加GPG密钥(阿里源) 尽管我不知道gpg是个什么东西,反正跟着做就完了 curl https://mirrors.aliyun.com/kubernetes/apt/do…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...


































