首页 > 代码库 > Nginx学习笔记06负载均衡之(一)负载均衡介绍

Nginx学习笔记06负载均衡之(一)负载均衡介绍

1.1.1. 负载均衡的介绍

Nginx中使用upstream配置块,可以方便的配置出一个基于反向代理的负载均衡解决方案。

upstream中可以包含多个server配置项,每个server配置项指定一个主机地址和端口号,代表一个主机(上游服务器)

proxy_pass配置反向代理时,可以不指定最终的主机地址,而是只指定upstream配置块指定的引用名称。在本文中,upstream配置了一个包含三个主机地址的负载均衡主机集群。

 

配置内容:

 

http {

    include       mime.types;

    default_type  application/octet-stream;

 

   upstream  tomcat {

     server tomcat101.coe2coe.me:8080;

     server tomcat141.coe2coe.me:8080;

     server tomcat142.coe2coe.me:8080;

  }

 

    server {

        listen       8000;

        server_name  ng.coe2coe.me;

 

        location / {

            root   html;

            index  index.html;

        }

 

        location ~  ^/hello/ {

             proxy_pass  http://tomcat;

        }

    }

}

 

运行结果:

在浏览器中访问http://ng.coe2coe.me:8000/hello/时,将会根据主机是否可用的状态,默按照upstream配置的次序依次选择其中一台主机进行请求和响应的转发。

以下三张图片是nginx启动后前三次访问(Ctrl+F5)时的结果:

默认使用依次轮询策略,依次选用的主机是tomcat101, tomcat141,tomcat142

 

1次访问:

 技术分享

 

2次访问:

技术分享

 

3次访问:

 技术分享

 

在将tomcat141主机(192.168.197.141)tomcat服务关闭后,将不会看到来自tomcat141的响应页面。有时候会出现多次请求仅转发到同一个主机的情况,比如Ctrl+F5多次,都是请求的tomcat142,而不见有tomcat101

 

Nginx学习笔记06负载均衡之(一)负载均衡介绍