• nginx负载均衡


    1、集群概念

    (1)、集群介绍

    (2)、为什么要使用集群

     

     

    2、 负载均衡

     

     

      

    (3)、nginx负载均衡实战

    a、nginx负载均衡概述

    Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,
    实现负载的分发。那么会大大提升系统的吞吐率、请求性能、高容灾

     

    Nginx要实现负载均衡需要用到proxy_pass代理模块配置

    Nginx负载均衡与Nginx代理不同地方在于

    Nginx代理仅代理一台服务器,而Nginx负载均衡则是将客户端请求代理转发至一组upstream虚拟服务池

    Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。

    b、upstream配置

    在nginx.conf 》 http区域中

        upstream slave_pools{
            server 192.168.2.10:80;
            server 192.168.2.12:80;
        }

    在nginx.conf > http 区域 >  server区域  > location配置中

    添加proxy_pass

            location / {
                proxy_pass http://slave_pools;
    include proxy_params; # 需要手动创建
    }
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    proxy_connect_timeout 30;
    proxy_send_timeout 60;
    proxy_read_timeout 60;
    
    proxy_buffering on;
    proxy_buffer_size 32k;
    proxy_buffers 4 128k;
    手动创建的proxy_params文件

    此时初步负载均衡已经完成,upstream默认按照轮训方式负载,每个请求按时间顺序逐一分配到后端节点。

     c、upstream分配策略

    weight权重

    upstream slave_pools {
           server 192.168.2.10:80 weight=5;
           server 192.168.2.12:80 weight=10;#这个节点访问比率是大于8000的
    }

    ip_hash

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器
    upstream slave_pools {
        ip_hash;
           server 192.168.2.10:80;
           server 192.168.2.12:80;
    }

    backup

    在非backup机器繁忙或者宕机时,请求backup机器,因此机器默认压力最小

    upstream slave_pools {
           server 192.168.2.10  weight=5;
           server 192.168.2.12;
           server 192.168.2.13 backup;
    }

    d、nginx负载均衡调度算法

    调度算法      概述
    轮询        按时间顺序逐一分配到不同的后端服务器(默认)
    weight       加权轮询,weight值越大,分配到的访问几率越高
    ip_hash      每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
    url_hash      按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
    least_conn    最少链接数,那个机器链接数少就分发

    1.轮询(不做配置,默认轮询)

    2.weight权重(优先级)

    3.ip_hash配置,根据客户端ip哈希分配,不能和weight一起用

  • 相关阅读:
    WordPress Pretty Photo插件‘hashrel’参数跨站脚本漏洞
    WordPress Suco Themes ‘themify-ajax.php’任意文件上传漏洞
    nginx 安全漏洞 (CVE-2013-4547)
    Linux kernel ‘uio_mmap_physical’函数缓冲区溢出漏洞
    OpenSSH ‘mm_newkeys_from_blob’函数权限许可和访问控制漏洞
    WordPress Kernel Theme ‘upload-handler.php’任意文件上传漏洞
    Wordpress Jigoshop插件路径泄露漏洞
    WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞
    Linux Kernel ‘write_tag_3_packet()’函数本地基于堆的缓冲区溢出漏洞
    SpringMVC配置数据验证(JSR-303)
  • 原文地址:https://www.cnblogs.com/felixwang2/p/10222317.html
Copyright © 2020-2023  润新知