Nginx 的负载均衡功能是通过 upstream 模块来实现的,允许将客户端的请求分发到多个后端服务器,以达到分散负载、提高系统稳定性和响应速度的目的。下面是一些关于 Nginx 负载均衡配置的详细说明:
首先,在 Nginx 配置文件(通常是 /etc/nginx/nginx.conf 或者 /etc/nginx/sites-available/default)中定义一个 upstream 块,用于指定一组后端服务器:
Nginx
- 1upstream backend {
- 2 server backend1.example.com; # 直接指定IP或域名
- 3 server 192.168.1.10:8080 weight=2; # 指定权重,weight参数表示该服务器被选择的权重比
- 4 server 192.168.1.11:8080; # 默认权重为1
- 5 server backup.example.com backup; # 备份服务器,当其他服务器不可用时启用
- 6}
Nginx 支持多种负载均衡策略,包括但不限于:
在 server 块内的 location 配置中,使用 proxy_pass 指令引用上面定义的 upstream 名称,实现请求转发:
Nginx
- 1server {
- 2 listen 80;
- 3 server_name example.com;
- 4
- 5 location / {
- 6 proxy_pass http://backend; # 引用上游服务器组
- 7 proxy_set_header Host $host;
- 8 proxy_set_header X-Real-IP $remote_addr;
- 9 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- 10 }
- 11}
upstream 中定义 backup 参数的服务器,确保在主服务器群不可用时有备用服务器接管请求。完成配置后,同样需要使用 nginx -t 测试配置文件的正确性,并通过 nginx -s reload 重载配置让更改生效。请注意,配置的具体细节可能会根据Nginx版本和所使用的模块有所不同。