Nginx负载均衡

1、负载均衡配置

# 首先,你要有两台或以上可以提供相同服务的Web服务器,不然这个负载均衡配置就没有意义!

    #  在配置过程中只需要改代理服务器的配置就行,其他服务器不用管。

    -    vim /usr/local/nginx/conf/nginx.conf

        #  在http下添加如下代码

            upstream item { # item名字可以自定义

                server 192.168.10.6:81 参数;

                server 192.168.10.7:80 参数;

                # 负载均衡模式(非必选项)

            }

        #  在server 80下添加如下代码

            location /{

                proxy_pass http://item;    # item是在上面命名的

            }

    -  配置 'upstream' 的时候,可以把你的代理服务器也加在里面用来做 'web' 服务器, 但是端口就不用在用80了。

    -  重启你的nginx组件,现在负载均衡就已经可以用了

2、负载均衡策略

2.1默认轮询

 upstream item {# item名字可以自定义

        server 192.168.10.6:8888; 

        server 192.168.10.7:8888; 

 }

2.2权重轮询

# weight的值越高被派发请求的概率也就越高,可以根据服务器配置的不同来设置。

upstream item {# item名字可以自定义

        server 192.168.10.6:8888 weight=1; 

        server 192.168.10.7:8888 weight=2; 

 }

2.3哈希分配

# 原理:他的根据客户端IP来分配服务器,比如我第一次访问请求被派发给了192.168.10.6这台服务器,那么我之后的请求就都会发送这台服务器上,这样的话session共享的问题也就解决了。

upstream item {# item名字可以自定义

        ip_hash;

        server 192.168.10.6:8888;

        server 192.168.10.7:8888;

 }

2.4最少连接

# 原理:根据上添加的服务器判断哪台服务器分的连接最少就把请求给谁。

upstream item {# item名字可以自定义

        least_conn;

        server 192.168.10.6:8888;

        server 192.168.10.7:8888;

 }

2.5fair(第三方)

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

upstream item {

        server 192.168.10.6:8888;

        server 192.168.10.7:8888;

        fair;

}

2.6url_hash(第三方)

# 原理:按访问url的hash结果来分配请求,使每个url定向到同一个(对应的)后端服务器,后端服务器为缓存时比较有效。

upstream item {

        server 192.168.10.6:8888;

        server 192.168.10.7:8888;

        hash $request_url;

        hash_method crc32;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。