参考资料

  1. Nginx有哪些安全相关的模块?
  2. 如何防止SQL注入和XSS攻击?
  3. nginx -p详细说明以及案例
  4. nginx配置文件详解
  5. 查看nginx 配置文件路径查找
  6. Nginx日志分析工具(ELK)配置详细说明以及案例
  7. Nginxexpires:页面缓存时间配置详细说明以及案例
  8. nginx 配置静态资源

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;
        }
    }
}