资讯专栏INFORMATION COLUMN

Nginx负载均衡配置

894974231 / 2693人阅读

摘要:测试环境域名服务器服务器服务器服务器部署策略用服务器作为主服务器负责分发请求,服务器用来处理最终请求开始配置服务器配置新建配置文件配置文件内容服务器配置新建配置文件配置文件内容重启台服务器的服务注意,如果像我一样是本地配置的测试域名

测试环境

域名:test.cc
服务器:Centos6.7、nginx/1.10.2
A服务器:192.168.8.142
B服务器:192.168.8.143
C服务器:192.168.8.144

部署策略
用A服务器作为主服务器负责分发请求,B、C服务器用来处理最终请求
开始配置 A服务器配置

新建配置文件 test.cc.conf
配置文件内容

#
# The test server
#

upstream test.cc {
    server 192.168.8.143;
    server 192.168.8.144;
}

server {
    listen       80;
    server_name  test.cc;
    location / {
        proxy_pass   http://test.cc;
        proxy_set_header        Host    $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
B、C服务器配置

新建配置文件 test.cc.conf
配置文件内容

#
# The test server
#

server {
    listen       80;
    listen       [::]:80;
    server_name  test.cc;
    index index.php index.html index.htm;
    root         /usr/share/nginx/html/test;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}

重启3台服务器的nginx服务

注意,如果像我一样是本地配置的测试域名的话,需要在自己电脑hosts文件中加入如下代码
192.168.8.142   test.cc
做完上面的设置,简单的nginx负载均衡就算是配置完成了,然后我们来进行验证,在B、C服务器的 /usr/share/nginx/html/test 目录下(根据自己的配置设置,不用跟这里一样)新建index.htm文件,然后在两台服务器的index.htm文件输入不同的内容,再访问test.cc就会发现,不断刷新,页面会显示不同的内容,说明负载均衡已经配置成功
配置说明

除了上面的基本配置之外,还有一些其他的配置

upstream test.cc {
    server 192.168.8.143 weight=1;
    server 192.168.8.144 weight=2;
    server 192.168.8.144 down;
}

// weight 权重,值越大,则被访问的概率越大
// down 表示当前服务器不参与负载均衡,也就是说不会被访问到
// 其他配置待补充
负载均衡策略 轮询

这是默认的策略,把每个请求逐一分配到不同的server,如果分配到的server不可用,则分配到下一个,直到可用

upstream test.cc {
    server 192.168.8.143;
    server 192.168.8.144;
}
最少连接

把请求分配到连接数最少的server

upstream test.cc {
    least_conn;
    server 192.168.8.143;
    server 192.168.8.144;
}
权重

weight默认值为1,值越大则代表被访问的几率越大,如下配置,144的访问数量是143的2倍

upstream test.cc {
    server 192.168.8.143 weight=1;
    server 192.168.8.144 weight=2;
}
ip_hash

根据访问客户端ip的hash值分配,这样同一客户端的请求都会被分配到同一个server上,如果牵扯到session的问题,用这个是最好的选择

upstream test.cc {
    ip_hash;
    server 192.168.8.143;
    server 192.168.8.144;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39837.html

相关文章

  • Kubernetes上的负载均衡详解

    摘要:部署只是一种规则,控制器组件会将这一规则应用于实际负载均衡器中。原因是功能仅允许将端口用于路由,负载均衡器和则可作为全局启动。负载均衡的限制提供了功能丰富的负载均衡器支持详细介绍在此。截至目前,我们暂时无法使用工具将负载均衡器配置从转换为。 如果您的应用程序是面向大量用户、会吸引大量流量,那么一个不变的目标一定是在高效满足用户需求的同时、不让用户感知到任何类似于服务器繁忙!的情况。这一...

    CoderBear 评论0 收藏0
  • 使用 NGINX 做 HTTP 负载均衡

    摘要:另一种负载均衡策略是最少连接。当使用最少连接负载均衡策略时,会把新请求分发给不太忙的服务器,从而避免分发过多的请求给忙碌的服务器造成过载。另外,还有很多的命令以及参数可以控制的负载均衡,例如。使用做负载均衡 Introduction 负载均衡一般被用来优化资源利用率、最大化吞吐量、降低延迟和容错配置。 Nginx 可以作为一种十分有效的 HTTP 负载均衡工具来使用,通过 nginx ...

    sarva 评论0 收藏0
  • nginx配置Nginx实现负载均衡

    摘要:三使用的高可用除了要实现网站的高可用,也就是提供多台服务器用于发布相同的服务,添加负载均衡服务器分发请求以保证在高并发下各台服务器能相对饱和的处理请求。 在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件、硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最常用的的添加负...

    Eric 评论0 收藏0

发表评论

0条评论

894974231

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<