参考资料

  1. Nginx反向代理缓存服务器配置详细说明以及案例
  2. Nginx伪流媒体服务器搭建详细说明以及案例
  3. nginx -e详细说明以及案例
  4. NginxMemcached缓存模块详细说明以及案例
  5. LVS(Linux Virtual Server)负载均衡详细说明以及案例
  6. NginxHTTP2模块配置详细说明以及案例
  7. nginx反向代理配置详解
  8. Nginx长连接负载均衡详细说明以及案例

Nginx在负载均衡中的角色配置示例:

  1. 基本负载均衡配置

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }

    server {
        location / {
            proxy_pass http://backend;
        }
    }
}
  1. 负载均衡算法配置

  • 轮询(默认):

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
}
  • 加权轮询:

upstream backend {
    server backend1.example.com weight=3;
    server backend2.example.com weight=1;
}
  • IP哈希:

upstream backend {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
}
  • 最少连接:

upstream backend {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
}
  1. 健康检查配置

upstream backend {
    server backend1.example.com max_fails=3 fail_timeout=30s;
    server backend2.example.com max_fails=3 fail_timeout=30s;
}
  1. 备份服务器配置

upstream backend {
    server backend1.example.com;
    server backend2.example.com backup;
}
  1. 完整示例配置

http {
    upstream myapp {
        least_conn;
        server 10.0.0.1:8080 weight=2;
        server 10.0.0.2:8080;
        server 10.0.0.3:8080 backup;
    }

    server {
        listen 80;
        
        location / {
            proxy_pass http://myapp;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}