nginx负载均衡原理怎么口述


本文摘自PHP中文网,作者(*-*)浩,侵删。

负载均衡原理

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

nginx-1.jpg

负载均衡配置

测试案例:

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

1

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结点,如下,添加带背景色部分的内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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;

       }

   }

}

重新加载配置文件

1

[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地址判断下一个请求应该被分发到哪个服务器。

默认的负载均衡配置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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负载均衡原理怎么口述的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

nginx怎么绑定域名

nginx怎样打开目录浏览功能

nginx如何启动脚本

linux下设置nginx开机自启的方法

phpfpm和nginx如何通信

如何查看nginx日志

怎样平稳安全地升级nginx版本

怎么更改nginx配置文件

fastdfs为什么要结合nginx

nginx是如何实现高性能的

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...