栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Nginx负载均衡

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx负载均衡

文章目录
  • 一、Nginx特点
  • 二、架构部署
    • 1、7层负载均衡
    • 2、Nginx负载均衡算法
    • 3、upstream支持的状态参数


一、Nginx特点

功能强大,性能卓越,运行稳定

配置简单灵活

能够自动剔除工作不正常的后端服务器

上传文件使用异步模式,client—nginx—web1 web2 web3 lvs同步请求 DR client -->dr—web1

支持多种分配策略,可以分配权重

优势:nginx复制用户请求,在后端服务器出现问题时,nginx会再复制一份请求发给另一台后端服务器。

缺点:流量会经过nginx,nginx成为瓶颈

二、架构部署
             ip                                  role
      192.168.116.131                            client
      192.168.116.132                            nginx
      192.168.116.133                           httpd-html1
      192.168.116.134                           httpd-html2
      192.168.116.135                           nginx-php1
      192.168.116.136                           nginx-php1
1、7层负载均衡

通过location对不同的请求进行进行负载均衡,因为通过http协议,所以称作7层

# vim /etc/nginx/conf.d/default.conf
server {
    location ~ .php$ {                            # 定位
        proxy_pass   http://php;                   # 推送上游主机组
    }
    
    location ~ .html$ {
        proxy_pass http://html;
    }
}
---------------------------------------------------------------------------------------------------------------
http { 

    upstream html {                                # 后方服务器组
        server 192.168.116.133:80 weight=1;        # 真实服务器
        server 192.168.116.134:80 weight=1;
    }
    
     upstream php {
        server 192.168.116.135:80 weight=1;
        server 192.168.116.136:80 weight=1;
    }
}
# systemctl start nginx
2、Nginx负载均衡算法

①、rr(默认)

轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。
适用于后台机器性能一致的情况。
挂掉的机器可以自动从服务列表中剔除。

②、wrr

根据权重来分发请求到不同的机器中,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

③、 IP_hash

根据每个请求IP进行调度,可以解决session的问题,不能使用weight,同一个客户端IP,发给同一个web服务器。

④、url_hash(第三方)

按请求的url的hash进行调度,从而使每个url定向到同一服务器。

⑤、fair

可以根据请求页面的大小和加载时间长短进行调度,使用第三方的upstream_fair模块。需要安装第三方插件,请求页面比较大,转发给后端配置比较高的服务器。

3、upstream支持的状态参数

down:暂停对该服务器的调度

backup:类似于LVS Sorry Server,当所有的非backup的服务器故障,就转发这台服务器

max_fails:转发请求失败的次数,进行尝试。默认为1。

fail_timeout:在经历max_fails次失败后,暂停真实服务器服务的时间。单位秒。在这个时间内不进行转发给他。

server 192.168.1.21:80 weight=1 down max_fails=2 fail_timeout=2;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/940297.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号