• ngnix的使用反向代理-负载均衡(2)


    原文参考:https://blog.csdn.net/zy1471162851/article/details/91795712

    tip: nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器

    nginx 的应用场景 (

    http服务器,可以做网页静态服务器;

    虚拟主机;

    反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。)


    windows常用命令

    nginx.exe -s stop –停止


    nginx优缺点

    占内存小,可以实现高并发连接、处理响应快。

    可以实现http服务器、虚拟主机、反向代理、负载均衡。

    nginx配置简单

    可以不暴露真实服务器IP地址

    一:反向代理

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

    启动一个Tomcat 127.0.0.1:8080

    使用nginx反向代理 8080.zyhome.com 直接跳转到127.0.0.1:8080
    Host文件新增

    127.0.0.1 8080.sea.com

    127.0.0.1 8081.shan.com

    nginx.conf 配置:

    server {
            listen       80;
            server_name  8080.sea.com;
            location / {
                proxy_pass  http://127.0.0.1:8080;
                index  index.html index.htm;
            }
        }
         server {
            listen       80;
            server_name  8081.shan.com;
            location / {
                proxy_pass  http://127.0.0.1:8081;
                index  index.html index.htm;
            }
        }
    

     

    二:负载均衡:

      

        轮询(默认)
        每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
        upstream backserver { 
        server 192.168.0.14; 
        server 192.168.0.15; 
        } 
    
        2、指定权重
        指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
        upstream backserver { 
        server 192.168.0.14 weight=10; 
        server 192.168.0.15 weight=10; 
        } 
    
        3、IP绑定 ip_hash
        每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
        upstream backserver { 
        ip_hash; 
        server 192.168.0.14:88; 
        server 192.168.0.15:80; 
        } 
    
    4、fair(第三方)
    按后端服务器的响应时间来分配请求,响应时间短的优先分配。 
    upstream backserver { 
    server server1; 
    server server2; 
    fair; 
    } 
    
    5、url_hash(第三方)
    按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 
    upstream backserver { 
    server squid1:3128; 
    server squid2:3128; 
    hash $request_uri; 
    hash_method crc32; 
    } 

    配置代码:

    upstream backserver 
      { server
    127.0.0.1:8080; server 127.0.0.1:8081
    ; } server { listen 80; server_name www.zyhome.com; location / { proxy_pass http://backserver; index index.html index.htm;        }     }

     宕机轮训配置规则

    upstream backserver 
      {
         server 127.0.0.1:8080;
         server 127.0.0.1:8081;
        }
    server {
            listen       80;
            server_name  www.sea.com;
            location / {
                     proxy_pass  http://backserver;
                     index  index.html index.htm;
                     proxy_connect_timeout 1;
                     proxy_send_timeout 1;
                     proxy_read_timeout 1;
                }     
            }

    三:配置DDOS


    限制请求次数

    设置Nginx、Nginx Plus的连接请求在一个真实用户请求的合理范围内。比如,如果你觉得一个正常用户每两秒可以请求一次登录页面,你就可以设置Nginx每两秒钟接收一个客户端IP的请求(大约等同于每分钟个请求)。

    limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;

    server {

    ...

    location /login.html {

    limit_req zone=one;

    ...

    }

    }

    `limit_req_zone`命令设置了一个叫one的共享内存区来存储请求状态的特定键值,在上面的例子中是客户端IP($binary_remote_addr)。location块中的`limit_req`通过引用one共享内存区来实现限制访问/login.html的目的。


    原文链接:https://blog.csdn.net/zy1471162851/article/details/91795712

  • 相关阅读:
    VCC、VDD、VEE等区别
    Matlab运行速度/效率受哪些因素影响?
    strtok/atoi/atof/atol函数用法 详解
    双色球随机生成
    万能指针void*学习
    空指针和 指向指针的指针
    指针运算
    快速编译c/cpp文件
    贪吃蛇(C)
    判断规定时间内有无输入
  • 原文地址:https://www.cnblogs.com/lshan/p/11596122.html
Copyright © 2020-2023  润新知