Rumah > Artikel > Operasi dan penyelenggaraan > nginx负载均衡原理怎么口述
负载均衡原理
客户端向反向代理发送请求,接着反向代理根据某种负载机制转发请求至目标服务器(这些服务器都运行着相同的应用),并把获得的内容返回给客户端,期中,代理请求可能根据配置被发往不同的服务器。 (推荐学习:nginx教程)
负载均衡配置
测试案例:
如下,分别在两台服务器(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结点,如下,添加带背景色部分的内容
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提供了以下三种负载均衡机制、方法:
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服务器组,并根据负载均衡方法来分发请求。
Atas ialah kandungan terperinci nginx负载均衡原理怎么口述. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!