Nginx 负载均衡

发布于 2024-06-19 00:44:17 字数 2856 浏览 10 评论 0

负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求按照事先设定分配算法分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。

均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。

upstream 块

upstream name {...}
配置块 http
upstream 块定义一个上游服务器的集群,便于反向代理中的 proxy_pass 使用

upstream mynet{
    server  www.wopai1.com ;
    server  www.wopai2.com ;
    server  www.wopai3.com ;
}
server {
    location /{
        proxy_pass  http://mynet ;
    }
}

server

server name [paramenters]
配置块 upstream
server 配置项指定了一台上游服务器的名字,可以是域名 IP 地址端口 UNIX 句柄
weight= number;设置向这台服务器转发的权重,默认为 1
max_fails=number;该选项域 fail_timeout 配合使用
        指在 fail_timeout 时间段内如果转发上游失败超过 number 次就认为当前的 fail_timeout 时间内
        这台服务器不可用,max_fails 默认为 1 如果设置为 0 表示不检查失败次数
fail_timeout=time; fail_timeout 表示该时间内转发多少次失败后就认为上游不可用.默认 10s
down    表示上游服务器永久下线,只能在 ip_hash 配置时才有效
backup  在 ip_hash 配置时无效.只有所有非备份机都失败,才向上游备份服务器转发请求.
upstream mynet{
    server  www.wopai1.com  weight=5;
    server  www.wopai2.com:8081  max_fails=3 fail_timeout=300s;
    server  www.wopai2.com  down;
}

ip_hash

配置块 upstream
希望来自某一个用户的请求始终落在固定的一台服务器上进行处理.
根据客户端的 IP 散列计算出一个 key,将 key 按照 upstream 集群中的上游服务器进行取模,求得的值对应的主机接收转发请求.
ip_hash 不可以与 weight 同时使用
如果 upstream 配置中有一台服务器暂时不可用,不能直接删除该配置,而应该使用 down 标识.
upstream mynet{
    ip_hash;
    server  www.wowpai1.top ;
    server  www.wowpai2.top ;  
    server  www.wowpai3.top  down;
}

例子,服务器负载均衡基本配置,nginx 中可以进行负载均衡的相关设置:

        upstream my.net{    #my.net 是自定义的命名 在 server 结构中引用即可

        #代理服务器为 两台机器 192.168.22.136 192.168.22.147 做负载均衡操作 
        #两台机器上 可以跑 apache 负载功能更为强大的网页相关任务

        #max_fails 表示尝试出错最大次数 即可认为该服务器 在 fail_timeout 时间内不可用
        # server servername:port   servername 可以写主机名 或者点分式 IP
        server 192.168.22.136:80 max_fails=1 fail_timeout=300s;
        server 192.168.22.147:80 max_fails=1 fail_timeout=300s;  
        }


        server {
        listen       80;
        server_name  localhost; 
        location / {
            #upstream 块名
            proxy_pass  http://my.net ;
            root   html;
            index  index.html index.htm;
        }

动手开始配置才能慢慢上手 nginx 配置和使用。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

北方的巷

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文