Nginx 负载均衡简单测试

 今天简单测试了一下Nginx,顺便做了一下笔记:

Nginux HTTP Upstream 模块为后端的服务器提供简单的负载均衡,有以下几种分配方式:

 

1、轮询(默认)

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

 

2、weight

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

 

3、ip_hash

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

 

4、fair(第三方)

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

 

5、url_hash(第三方)

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

 

 

设备状态:

Weight=NUMBER

设置服务器的权重,权重数值越高,被 分配到客户端的请求次数越多,默认值为1

Max_fails=BUMBER

在参数fail_timeout指定时间内对后端服务器请求失改的次数,如果检测到后端服务器无法连接及发生服务器错误(404错误除外),则标记为失改。如果没有设置,则默认值为1,设置为0将关闭这项检查。

Tail_timeout=TIME

在经历参数max_fails设置的失改次数后,暂停的时间。

Down

标记服务器为永久离线状态,用于ip_hash命令。

Backup

仅在非backup服务器全部宕机或繁忙的时候才启用,这台服务器的负载会最轻。

 

 

 

一,测试环境:

当月用户访问192.168.0.201的时候,将其负载均衡到205185服务器上:

192.168.0.201

前端转发器

192.168.0.205

后端真实服务器

192.168.0.185

后端真实服务器

 

 

二,配置实例:

 

1,前端转发器配置文件:

[root@youxia201 conf]# cat nginx.conf

#user  nobody;

worker_processes  1;

 

error_log  logs/error.log;

 

pid        logs/nginx.pid;

 

 

events {

    worker_connections  1024;

}

 

 

http {

    include       mime.types;

    default_type  application/octet-stream;

 

    sendfile        on;

    #tcp_nopush     on;

 

    #keepalive_timeout  0;

    keepalive_timeout  65;

 

    #gzip  on;

      #定义负载均衡设

   upstream web_server {

        server 211.154.165.205:8085 weight=1 max_fails=2 fail_timeout=30s;

        server 211.154.165.185:8085 weight=1 max_fails=2 fail_timeout=30s;

        }

 

    server {

        listen       80;

        server_name  localhost;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            #root   html;

            #index  index.html index.htm;

                #proxy_next_upstream http_502 http_504 error timeout invalid_header;

                proxy_pass http://web_server;

                proxy_set_header X-Forwarded-For $remote_addr;

        }

        access_log /var/log/nginx_access.log;

 

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

 

 

    }

 

}

 

 

2,后端真实服务器配置文件(185205配置相同):

 

[root@youxia205 conf]# cat nginx.conf

 

#user  nobody;

worker_processes  1;

 

 

#pid        logs/nginx.pid;

 

 

events {

    worker_connections  1024;

}

 

 

http {

    include       mime.types;

    default_type  application/octet-stream;

 

 

    #access_log  logs/access.log  main;

 

    sendfile        on;

    #tcp_nopush     on;

 

    #keepalive_timeout  0;

    keepalive_timeout  65;

 

    #gzip  on;

 

    server {

        listen       8085;

        server_name  localhost;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            root   html;

            index  index.html index.htm;

        }

 

        #error_page  404              /404.html;

 

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

 

 

    }

 

 

}

 










本文转自 trt2008 51CTO博客,原文链接:http://blog.51cto.com/chlotte/382289,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值