nginx负载均衡原理怎么口述

nginx负载均衡原理怎么口述

负载均衡原理

客户端向反向代理发送请求,接着反向代理根据某种负载机制转发请求至目标服务器(这些服务器都运行着相同的应用),并把获得的内容返回给客户端,期中,代理请求可能根据配置被发往不同的服务器。 (推荐学习:nginx教程)

nginx-1.jpg

负载均衡配置

测试案例:

如下,分别在两台服务器(192.168.1.103, 192.168.1.102)上部署了相同的应用,并通过8080端口访问网站,如下

http://192.168.1.xx:8080/webautotest/xxxxxxx

同时在192.168.1.103上安装了nginx反向代理,想通过192.168.1.103的80端口来实现对两个站点的访问

编辑nginx配置文件(例中为/usr/local/ngnix/conf/nginx.conf),找到http结点,如下,添加带背景色部分的内容

nginx负载均衡原理怎么口述

nginx负载均衡原理怎么口述

http {
   upstream myapp1 {
       server 192.168.1.103:8080;
       server 192.168.1.104:8080;
   }
   ……略
  server {
       listen 80;
       server_name localhost;
 
       ……略
       location /webautotest/ {
           proxy_buffering off;
           proxy_pass http://myapp1;
       }
   }
}

重新加载配置文件

[root@localhost nginx-1.10.0]# /usr/local/ngnix/sbin/nginx -s reload

访问测试url

如下,访问相同的页面,展示来自不同服务器的页面

nginx-4.jpg

nginx-5.jpg

说明:

负载均衡方法

nginx提供了以下三种负载均衡机制、方法:

round-robin — 请求以循环、轮转的方式分发到应用服务器。

least-connected — 下一个请求被分配到拥有最少活动连接数的服务器

ip-hash — 使用一个哈希函数,基于客户端ip地址判断下一个请求应该被分发到哪个服务器。

默认的负载均衡配置

http {
   upstream myapp1 {
       server srv1.example.com;
       server srv2.example.com;
       server srv3.example.com;
   }
 
   server {
       listen 80;
 
       location / {
           proxy_pass http://myapp1;
       }
   }
}

上例中,有3个应用实例分别运行在srv1-srv3。当不显示指定负载均衡方法时,默认为round-robin。所有请求都被代理转发至myapp1服务器组,并根据负载均衡方法来分发请求。

以上就是nginx负载均衡原理怎么口述的详细内容,更多请关注https://www.sxiaw.com/其它相关文章!