nginx负载均衡的三种方式( 解析nginx负载均衡知识点)

   2023-04-13 互联网0
核心提示:1.1、Nginx概念及作用 概念:Nginx是高性能的HTTP和反向代理的web服务器,特点是占有内存少,由于它处理高并发能力非常强大,常用于高并发场景,能经受高负载的考验。 Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非

nginx负载均衡的三种方式( 解析nginx负载均衡知识点)

1.1、Nginx概念及作用

概念:Nginx是高性能的HTTP和反向代理的web服务器,特点是占有内存少,由于它处理高并发能力非常强大,常用于高并发场景,能经受高负载的考验。

Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。

1.2、正向代理

我们需要在客户端配置代理服务器,此时将代理服务器和客户端看成一个客户端,这样服务器就不知道是哪个客户端发送的请求,通过代理服务器进行访问,这就是正向代理

1.2、反向代理

反向代理:客户端对反向代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端。

反向代理服务器和目标服务器对外就是一个服务器,所以我们需要把它们看成一个服务端,暴露的是代理服务器 IP 地址,隐藏了真实服务器 IP 地址,这样客户端就不知道请求最后到底发送给哪台服务器

1.3、负载均衡

单个服务器解决不了大量请求,所以我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,这就是我们所说的负载均衡

1.4、动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

2、Nginx常用命令

由于该文章是关于Nginx的操作笔记,所以这里不会讲解如何在Linux上安装Nginx

注意:使用Nginx操作命令前提,必须进入到Nginx目录 /usr/local/nginx/sbin

常用命令:

    查看Nginx版本号:./nginx -v

2.启动Nginx:./nginx

3.关闭Nginx:./nginx -s stop

4.重新加载Nginx:./nginx -s reload

3、Nginx配置文件

首先我们需要知道Nginx配置文件的位置:

/usr/local/nginx/conf/nginx.conf

Nginx配置文件有3部分组成:

    全局块

从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令

比如:worker_processes 1

这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约

2.events块

events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接

比如:worker_connections 1024

表示每个 work process 支持的最大连接数为 1024
这部分的配置对 Nginx 的性能影响较大,在实际中应该灵活配置。

3.http块

这算是 Nginx 服务器配置中最频繁的部分

需要注意的是:http 块也可以包括 http 全局块、server 块。

4、Nginx配置实例 4.1、反向代理 4.1.1、反向代理准备工作

实现效果:

打开浏览器,输入地址www.123.com,跳转到Linux系统上的Tomcat主页面

注意:进行案例演示之前,请确保Linux上已经安装Nginx和Tomcat!

    进入到tomcat的bin目录中,输入命令启动服务器:./startup.sh 对外开放访问的端口:firewall-cmd –add-port=8080/tcp –permanent 重启防火墙:firewall-cmd –reload 在window系统中通过浏览器访问tomcat服务器

5.访问过程分析:

4.1.2、反向代理实例(一)
    在windows系统的host文件进行域名和ip对应关系的配置,访问路径为:C:WindowsSystem32driversetc

2.在nginx中进行请求转发配置(反向代理)

3.最终打开网址输入:www.123.com,测试成功

4.1.3、反向代理实例(二)

实现效果

    在/usr/src目录下创建两个文件夹分别是:tomcat8080,tomcat8081,将tomcat压缩包分别拖入到两个文件夹中,并解压:tar -xvf apache-tomcat-7.0.70.tar.gz,解压完成后启动两个tomcat 分别在两个tomcat中的webapps目录下存放edu文件和vod文件,文件夹下分别存放两个html页面,用于测试 找到nginx配置文件,进行方向代理配置

4.开放对外访问的端口号,语法如下:

firewall-cmd --add-port=端口号/tcp --permanent

5.进行测试

4.2、负载均衡

实现效果:浏览器输入负载均衡效果,将请求轮询形式转发到8080,8081端口

    准备两台tomcat服务器,一台是8080,另一台是8081 在两台tomcat的webapps目录中,分别创建edu文件夹,在edu中放入a.html文件 在nginx配置文件中的http块进行负载均衡的配置

随着互联网信息的爆炸性增长,负载均衡(load balance) 已经不再是一个很陌生的话题,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。

Nginx 提供了几种分配方式(策略):

1.轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

2.weight:weight 代表权,重默认为 1,权重越高被分配的客户端越多指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

3.ip_hash:每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。

4.fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。

4.3、动静分离

通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires 定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,不建议使用 Expires 来缓存),我这里设置 3d,表示在这 3 天之内访问这个 URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304,如果有修改,则直接从服务器重新下载,返回状态码 200。

4.3.1、动静分离准备工作

在Linux系统根目录中创建data文件夹,文件夹中存放两个文件夹分别为:

    www image 在www中放入a.html文件,在image文件夹中放入01.jpg图片
4.3.2、动静分离实例
    nginx配置文件中进行配置

2.将nginx服务器进行重新启动

3.最终进行测试

在浏览器中输入地址

因为配置文件 autoindex on

在浏览器中输入地址:
http://192.168.50.128/www/a.html

5、Nginx工作原理解析

1.master & worker

2.worker如何进行工作

3.master-workers 的机制的好处

(1)可以使用 nginx –s reload 热部署,利用 nginx 进行热部署操作
(2)每个 woker是独立的进程,如果有其中的一个 woker 出现问题,其他 woker 独立的,继续进行争抢,实现请求过程,不会造成服务中断

4.设置多少个 woker 合适?

worker 数和服务器的 cpu 数相等是最为适宜的

5.连接数 worker_connection

第一个:发送请求,占用了 woker 的几个连接数?
答案:2 或者 4 个

第二个:nginx 有一个 master,有四个 woker,每个 woker 支持最大的连接数 1024,支持的最大并发数是多少?
普通的静态访问最大并发数是: worker_connections * worker_processes / 2,

而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections * worker_processes/4

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与爱美生活网(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 在贷款之前需要了解哪些关于征信的基本知识 讲解相关知识点
    在贷款之前需要了解哪些关于征信的基本知识 讲
    在贷款之前了解征信的基本知识是非常重要的,通过了解自己的信用状况、征信报告中的各项指标、征信报告的生成和更新规则,以及如何改善个人的信用状况,我们可以更好地评估自己的贷款申请可能性,并做好贷款申请的准备。在贷款之前,我们需要了解以下几个关于
  • 投资股市需要具备哪些基本知识和技能 掌握以下几个知识点帮你了解股市
    投资股市需要具备哪些基本知识和技能 掌握以下
    了解股票市场的基本原理、掌握公司基本面分析和技术分析、以及熟悉投资策略和风险管理技巧,都是投资者在股市中获得成功的关键要素。投资股市是一项高风险高回报的活动,需要具备一定的基本知识和技能。投资股市需要具备哪些基本知识和技能 首先,需要了解股
  • 软件开发主要是做什么的(史上最全的软件开发知识点分享)
    软件开发主要是做什么的(史上最全的软件开发知
    什么是APP开发?APP开发分为几种?APP是怎么开发的?关于这些问题,今天准备了这篇文章。目前的市场比起之前已经好了太多太多,但即便是如此,也有很多的人还是会在了解APP开发上花费很长时间,当然这也并不是问题,只是能减少这一过程的时间最好
  • 如何备考教师资格证(备考知识知识点要)
    如何备考教师资格证(备考知识知识点要)
    1、动笔摘要,在教师资格证考试备考期间,大部分考生选择自己学习备考,在备考的过程中要注意提高学习效率,因此,在学习和做题的过程中做好重点知识摘要十分重要,在摘要的过程中有助于知识的理解和深化;2、合理分类,在备考过程中,要注意知识的分类,既
  • 投资行业股票涉及到哪些具体知识点 如何正确进行股票行业分析
    投资行业股票涉及到哪些具体知识点 如何正确进
    投资行业股票需要掌握具体的知识点,并进行正确的行业分析和股票分析,以做出更准确的投资决策。投资行业股票需要掌握以下具体知识点:投资行业股票涉及到哪些具体知识点 1。行业基本知识:了解该行业的基本特征、发展历程、市场规模和竞争情况等。2。公司
  • 圆锥展开图的角度公式(圆锥知识点计算公式大全)
    圆锥展开图的角度公式(圆锥知识点计算公式大全
    天我们先讲焦半径的坐标形式 一、椭圆焦半径 左加右减,下加上减 左加右减,下加上减 左加右减,下加上减 椭圆第二定义:椭圆上的点到焦点的距离与到对应准线的距离之比等于离心率。上述焦半径公式可用椭圆第二定义也可以快速推
  • 怎样测量和表示力知识点(测量弹簧知识点大)
    怎样测量和表示力知识点(测量弹簧知识点大)
    测量和表示力知识点可以使用相应的测量工具,力的大小是可以测量的。比如弹簧测力计是一种测力的大小的工具,运用于物理力学,主要由弹簧、挂钩、刻度盘构成。弹簧受力与弹性形变大小成正比。首先任何测量都是将某一个物理量与标准(即单位)比较的过程,力的
  • 科普下钕元素的知识点总结
    科普下钕元素的知识点总结
    关于到现在钕元素的知识点总结这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道钕元素的知识点总结,小编也是到网上收集了一些与钕元素的知识点总结相关的信息,那么下面分享给大家一起了解下吧
  • 科普下氯元素的知识点总结
    科普下氯元素的知识点总结
    关于到现在氯元素的知识点总结这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道氯元素的知识点总结,小编也是到网上收集了一些与氯元素的知识点总结相关的信息,那么下面分享给大家一起了解下吧
  • 七巧板标准尺寸(新版七巧板尺寸)
    七巧板标准尺寸(新版七巧板尺寸)
    七巧板竟是桌子 说起七巧板,相信很多家长和孩子都玩过,七个简简单单的图形,却能千变万化,但你知道吗?七巧板最早是古人用来吃饭的桌子。 宋朝有个叫黄伯思的人,对几何图形很有研究,他热情好客,发明了一种用6张小桌子组成的“燕几”。燕几一开
点击排行