nginx upstream 配置详解
在nginx中,upstream用于配置后端服务器的列表,以便nginx可以将请求代理到这些服务器上。upstream指令可以在http、server或location上下文中使用。以下是upstream配置的基本语法:
upstream backend {
server backend1.example.com;
server backend2.example.com;
...
}
这个配置定义了一个名为backend的upstream,其中包含两个服务器:backend1.example.com和backend2.example.com。在proxy_pass指令中使用backend作为目标服务器时,nginx会将请求轮询分配给这些服务器。
除了基本的轮询负载均衡算法之外,nginx还支持其他负载均衡算法,如ip_hash、least_conn等。以下是upstream配置使用ip_hash算法的示例:
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
...
}
在这个配置中,ip_hash指令告诉nginx使用IP地址哈希算法来选择后端服务器,这样每个客户端的请求都会发送到同一个后端服务器上。
除了负载均衡算法之外,upstream还支持一些高级特性,如健康检查、超时设置、备份服务器等。这些特性可以帮助提高后端服务器的可用性和性能。