nginx负载均衡

猫屋博客

nginx负载均衡介绍

nginx应用场景之一就是负载均衡。在访问量较

多的时候,可以通过负载均衡,将多个请求分

摊到多台服务器上,相当于把一台服务器需要

承担的负载量交给多台服务器处理,进而提高

系统的吞吐率;另外如果其中某一台服务器挂

掉,其他服务器还可以正常提供服务,以此来

提高系统的可伸缩性与可靠性。

下图为负载均衡示例图,当用户请求发送后,

首先发送到负载均衡服务器,而后由负载均衡

服务器根据配置规则将请求转发到不同的web

服务器上。

nginx负载均衡,A4A5D375-97BD-4D0B-8AF9-49539B503092.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第1张

环境准备

4台虚拟机

1台nginx

3台web

1.先配置ip

2.关闭防火墙

  1. 首先杳看防火墙状态

  2. systemctl status firewall

nginx负载均衡,92A68B0C-D372-4658-92BC-F963A7013E21.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第2张

如果active括号里面是running就是运行的意思

如果关闭active后面跟的是dead

2.关闭防火墙

systemctl stop firewalld

nginx负载均衡,5A09E56B-9891-432F-A519-7A58AFF43EFE.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第3张

3.关闭防火墙开机自启

systemctl disable firewalld

nginx负载均衡,D90D44A8-CC10-4F2B-9D76-A656F760CF96.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第4张

nginx安装

我这里就不开虛拟机了直接用docker启容器

1.先拉取ngin镜像

docker pull nginx

2.启动nginx容器

docker run -d -p 81:80 --name 605c77e624dd

nginx负载均衡,4FAB67BC-3772-4B53-97B9-4E8696114297.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第5张

-d是后台运行

-p是映射端口 linux端口:容器内端口

--name 定义启动容器的名称

最后一个是镜像id

浏览器输入P地址:端口号查看是否启动成功

nginx负载均衡,8AD9D1AB-308B-489C-807A-958AB95B2E1F.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第6张

出现这个页面就是启动成功

3.启动web容器

nginx负载均衡,6E85E77E-51DD-49B9-A07B-69FEC002F187.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第7张

nginx负载均衡策略

1.轮询(默认)

每个请求按时间顺序逐一分配道不同的后端服

务器,如果后端服务器挂掉,能自动剔除

upstream web{
server 192.168.42.160:82;
server 192.168.42.160:83;
server 194.168.42.160:84;
}

2.指定权重

指定轮询几率,weight权重大小和访问比率成

正比,用于后端服务器性能不均的情况下

upstream web{
server 192.168.42.160:82 weight=1;
server 192.168.42.160:83 weight=2;
server 194.168.42.160:84 weight=3;
}

3.ip hash

每个请求,按访问的hash结果进行分配,每个访客

固定道一个后端服务器,可以解决session的问

upstream web{
ip_hash;
server 192.168.42.160:82;
server 192.168.42.160:83;
server 194.168.42.160:84;
}

4.fair

按后端服务器的响应时间来分配请求,响应时间

短的优先分配

upstream web{
server 192.168.42.160:82
server 192.168.42.160:83;
server 194.168.42.160:84
fair;
}

5.url_hash

按访问的ur的hash结果来分配请求,使每个ur定

向道同一个后端服务器,后端服务器缓存时比较

有效

upstream web{
hash &request uri;
server 192.168.42.160:82;
server 192.168.42.160:83;
server 194.168.42.160:84;
}

http部分 添加策略,上面5种按照情况和需求选

nginx负载均衡,A952F33E-274A-4169-AD45-3C78A107B870.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第8张

server部分改成跟下图一样即可nginx负载均衡,CAAEC554-2350-43D3-806E-E3816C656BEA.png,nginx,nginx负载分配,nginx服务器,nginx负载均衡,系统,教程,服务器,第9张

然后访问ip地址:端口号看看有没有访问到别的

网站

 隐藏内容
您未登录,请登录注册后查看

文章版权声明:除非注明,否则均为猫屋博客MAOWUO.CN原创文章,转载或复制请以超链接形式并注明出处。

您需要 登录账户 后才能发表评论

发表评论取消回复

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,141人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码