"upstream" 模块是 Nginx 的一个模块,用于定义一组上游服务器。在 Nginx 的配置文件中,可以使用 upstream 模块来定义一组上游服务器,然后在其他配置块中引用这些服务器。
在 Nginx 中,upstream 模块通常用于负载均衡和反向代理。通过定义一组上游服务器,您可以配置 Nginx 将客户端请求转发到这些服务器之一。通过使用负载均衡算法,您可以将请求分配给多个服务器,以提高可用性和性能。
在配置文件中,upstream 模块的语法如下:
upstream name {
server address1 [options];
server address2 [options];
...
}
其中,name 是上游服务器组的名称,address 是上游服务器的 IP 地址或主机名,options 是可选的配置选项,例如 weight、backup、max_fails、fail_timeout 等。
在其他配置块中,可以使用上游服务器组的名称来引用这些服务器。例如,在 server 配置块中,可以使用 proxy_pass 指令将客户端请求代理到上游服务器组中的一个服务器,如下所示:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
upstream backend {
server 10.0.0.1;
server 10.0.0.2;
}
在这个示例中,我们定义了一个名为 "backend" 的上游服务器组,它包含两个服务器:10.0.0.1 和 10.0.0.2。然后,在 server 配置块中,我们使用 proxy_pass 指令将客户端请求代理到 "backend" 上游服务器组中的一个服务器。这将导致 Nginx 将客户端请求发送到其中一个上游服务器,以实现负载均衡和故障转移。