参考资料

  1. Nginx设置配置文件详细说明以及案例
  2. Nginxroot指令根目录配置详细说明以及案例
  3. Nginx监控工具(Prometheus)配置详细说明以及案例
  4. Nginx 基于SSL的TCP代理服务器详细说明以及案例
  5. Nginx基础安全设置及示例
  6. nginx的用法
  7. nginx 配置静态资源
  8. NginxFastCGI模块配置详细说明以及案例

Nginx负载均衡能力说明:

  1. 负载均衡算法:

  • 轮询(默认):按顺序分配请求

  • 权重(weight):指定服务器处理请求的比例

  • IP哈希(ip_hash):基于客户端IP分配

  • 最少连接(least_conn):优先分配给连接数最少的服务器

  • 响应时间(fair):基于后端响应时间分配(需第三方模块)

  1. 健康检查机制:

  • 被动检查:通过失败重试机制实现

  • 主动检查:需配合第三方模块(如nginx_upstream_check_module)

  1. 会话保持方式:

  • ip_hash方法

  • sticky cookie方法(需第三方模块)

  1. 故障转移:

  • max_fails:允许失败次数

  • fail_timeout:失败超时时间

  • backup:标记备用服务器

配置示例(轮询+权重):

http {
    upstream backend {
        server 192.168.1.100:8080 weight=3;
        server 192.168.1.101:8080 weight=2;
        server 192.168.1.102:8080 backup;
        
        # 可选参数
        least_conn;          # 最少连接算法
        # ip_hash;           # IP哈希算法
        keepalive 32;        # 长连接数
    }

    server {
        listen 80;
        
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            
            # 健康检查相关
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_connect_timeout 2s;
            proxy_read_timeout 5s;
        }
    }
}

IP哈希配置示例:

upstream backend {
    ip_hash;
    server 192.168.1.100:8080;
    server 192.168.1.101:8080;
}

最少连接配置示例:

upstream backend {
    least_conn;
    server 192.168.1.100:8080;
    server 192.168.1.101:8080;
}

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。