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,如需转载请自行联系原作者
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
16天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
32 0
|
7天前
|
负载均衡 应用服务中间件 nginx
Nginx 负载均衡
Nginx 负载均衡
21 2
|
2月前
|
负载均衡 Java 应用服务中间件
|
2月前
|
负载均衡 监控 应用服务中间件
Nginx负载均衡:你的网站流量翻倍利器
Nginx负载均衡:你的网站流量翻倍利器
43 0
|
2月前
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
63 0
|
3月前
|
缓存 负载均衡 算法
【Nginx】Nginx 负载均衡
【1月更文挑战第25天】【Nginx】Nginx 负载均衡
|
3月前
|
负载均衡 应用服务中间件 nginx
【实践】使用Nginx作为GrayLog日志接入的负载均衡
【实践】使用Nginx作为GrayLog日志接入的负载均衡
48 0
|
3月前
|
负载均衡 算法 应用服务中间件
深入了解Nginx底层负载均衡算法
深入了解Nginx底层负载均衡算法
33 0
|
3月前
|
负载均衡 应用服务中间件 nginx
Nginx四层负载均衡在秒杀系统中的应用
Nginx四层负载均衡在秒杀系统中的应用
26 0
|
3月前
|
负载均衡 应用服务中间件 nginx
Nginx负载均衡选择在秒杀系统中的应用
Nginx负载均衡选择在秒杀系统中的应用
45 0