目录

一、负载均衡实例

1、前期准备工作

 2、在Nginx进行负载均衡配置

二、Nginx分配服务器的策略


一、负载均衡实例

1、前期准备工作

1、实现效果

(1)、打开浏览器,在浏览器地址栏输入地址http://IP/tmt/a.html,负载均衡效果,平均8080和8081端口中

2、准备工作

(1)、准备2台tomcat服务器,一台8080端口,一台8081端口。

(2)、在两台tomcat里面的webapps目录中,创建名称是tmt文件夹,在tmt文件夹中创建页面a.html,用于测试

a.html分别如下:

<h1>tomcat1  8080!</h1>
<h1>tomcat2  8081!</h1>

测试:

nginx负载均衡 拓补图 nginx负载均衡部署_nginx负载均衡 拓补图

 

nginx负载均衡 拓补图 nginx负载均衡部署_负载均衡_02

负载均衡配置

1、在Nginx配置文件nginx.conf文件中进行修改,在http块下
    upstream myserver {          # 新增upstream块
            server   192.168.0.185:8080;
            server   192.168.0.185:8081;
    }

    server {
        listen       80;   # 默认对外暴露80端口
        server_name  192.168.0.185;   #1.修改为IP

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            proxy_pass  http://myserver;   #2.增加对应访问路径跳转,为上面自定义的upstream myserver
            index  index.html index.htm;
        }
 
2、修改完配置文件,重启Nginx

测试:http://192.168.0.185/tmt/a.html

多次请求会平均分配到8080和8081中

nginx负载均衡 拓补图 nginx负载均衡部署_运维_03

 

nginx负载均衡 拓补图 nginx负载均衡部署_运维_04

========================================================

二、Nginx分配服务器的策略

Nginx提供了几种分配方式(策略)

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动删除。

2、weight

weight代表权重,默认为1,权重越高被分配的客户端越多

指定轮询机率,weight和访问比率成正比,用于后端服务器性能不均的情况,

例如:

如下分配到8081是8080的一倍。

upstream myserver {
            server   192.168.0.185:8080 weight=5;
            server   192.168.0.185:8081 weight=10;
    }

3、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

在浏览器访问IP地址,第一次访问是8080,以后多次访问一直就是8080.

例如:

upstream myserver {
            ip_hash;
            server   192.168.0.185:8080 weight=5;
            server   192.168.0.185:8081 weight=10;
    }

4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream myserver {
            server   192.168.0.185:8080 weight=5;
            server   192.168.0.185:8081 weight=10;
            fair;
    }

Nginx学习&部署环境(一)

Nginx学习&部署环境(四)-动静分离实例