nginx的配置

events {} #必写
http{
    #Tomcat服务器集群
    #weight权重配置,当有五个请求发过来的时候,100服务器处理3个,101处理两个
    #max_fails 配置的是熔断机制失败次数,即当访问一个服务器的时候,出现三次失败,就发生熔断
    #fail_timeout 熔断时间,当服务器熔断超过10s后,nginx会重新尝试连接熔断的服务器
    #设置max_fails=0可以更方便的测试Nginx错误重试机制。max_fails默认值是1,用于指定一个server在一段时间内(默认10s)发生错误次数达到多少次,Nginx就会自动将该服务器下线。这里设置为0是禁用这个特性,防止在测试过程中服务器被踢下线不好测试。线上环境下一般不会设置max_fails=0。
    upstream tomcat_servers {
        server 192.168.1.100:8081 weight=3 max_fails=3 fail_timeout=10s;
        server 192.168.1.101:8081 weight=2 max_fails=3 fail_timeout=10s;
    }

    server {#虚拟机服务器,端口默认80
            #nginx每个服务请求超时时间,当超过这个时间服务器还没处理完,就会发生故障转移,去请求别的服务器。
            #故障转移:当一个服务器处理请求超过这个时间,就会将请求发送到别的服务器去处理,get请求发生故障转移会导致数据的幂等性问题,
            #通常情况下,如果请求使用非等幂方法(POST、LOCK、PATCH),请求失败后不会再到其他服务器进行重试。加上non_idempotent选项后,即使是非幂等请求类型(例如POST请求),发生错误后也会重试。
        proxy_read_timeout 3s;
            #如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
        proxy_next_upstream http_502 http_504 error timeout non_idempotent;
            #这个是发生故障转移时的重试次数,当发生故障转移时,如果配置了1000台服务器,不可能让他轮训都重试一遍,所以当重试3次后,直接告诉客户端,这个请求错误。
        proxy_next_upstream_tries 3;
            #这个参数是重试的最长时间,重试时间超过这个时间也会直接返回
        proxy_next_upstream_timeout 60s;
        
        location /{#根据用户的url 走不同的流程。 通配
            #将代理请求返回的内容作为响应
            proxy_set_header Host $http_host;
            proxy_pass http://tomcat_servers;
        }

        
        #静态不变的由nginx直接返回,静态内容和nginx放在同一台服务器上
        location~ \.(gif|jpg|png|css|js|html)$ {
            root /data/www;
        }

    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值