Nginx负载均衡与反向代理

1、负载均衡配置
# 与代理服务器建立连接的超时时间,默认60,不超过75
proxy_connect_timeout 5s;
# 从代理服务器读取响应的超时
proxy_read_timeout  10s;
# 向代理服务器发起请求的超时
proxy_send_timeout  10s;
# 指定在何种情况下,应该将请求转给下一个服务器,error与服务器建立连接、发起请求或读取响应出错,timeout与服务器建立连接、发起请求或读取响应超时
proxy_next_upstream error timeout;
# 重试的最大超时时间,表示在timeout里边允许tries次重试
proxy_next_upstream_timeout 10s;
#设置重试次数,默认为0表示不限制,这里的重试次数表示所有请求次数,包括第一次和之后的重试次数
proxy_next_upstream_tries 1;

upstream upstream_test {
    # 通过IP哈希的方式进行负载均衡,同一个客户端IP将被分配到同一个服务器,默认不配置则表示round-robin,根据权重轮询
    # ip_hash;
    # weight 表示权重
    # fail_timeout内失败了max_fails次,则表示该服务不可用,fail_timeout重新尝试是否可用
    server 127.0.0.1:1577 weight=1 fail_timeout=10 max_fails=5;
}
2、健康检查

前提是安装了https://github.com/yaoweibin/nginx_upstream_check_module模块

upstream upstream_test {
    # type 协议类型
    # interval检测间隔,这里1秒一次,
    # fall失败多少次之后标识为不存活
    # rise成功多少次后标识为存活
    # timeout检查超时时间
    check type=http interval=1000 fall=5 rise=3 timeout=3000;
    # http检测是发送的请求
    check_http_send "GET / HTTP/1.0\r\n\r\n";
    # 检测接口期待的结果,匹配则认为存活
    check_http_expect_alive http_2xx http_3xx http_4xx;
}
3、全局开启gzip压缩
http {
    # gzip压缩
    gzip  on;
    # 设置最小压缩长度,大于1K才启用压缩
    gzip_min_length 1k;
    # 设置压缩所需要的缓冲区大小
    gzip_buffers    16 16k;
    #压缩等级 1-9 等级越高,压缩效果越好,节约宽带,但CPU消耗大
    gzip_comp_level 2;
    gzip_http_version 1.1;
    # 哪些类型进行压缩
    gzip_types  text/plain application/x-javascript text/css application/javascript application/json application/xml image/jpeg image/gif image/png font/ttf font/opentype font/x-woff image/svg+xml;
    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;
    # 禁用IE 6 gzip,因为IE6的某些版本对gzip的压缩支持很不好,会造成页面的假死
    gzip_disable "MSIE [1-6]\.";
    # 对所有的代理请求启用压缩
    gzip_proxied any;
}
上一篇:阿里云服务器nginx的配置


下一篇:Linux23_压缩和解压文件