upstream app_front_static {
    server 192.168.206.105:80;
}

从没见过,有人知道这是什么意思吗?


Upstream定义了一个集群,您可以将请求代理到该集群。它通常用于定义用于负载平衡的web服务器集群,或用于路由/负载平衡的应用服务器集群。


它用于将请求代理到其他服务器。

http://wiki.nginx.org/LoadBalanceExample的一个例子是:

http {
  upstream myproject {
    server 127.0.0.1:8000 weight=3;
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;    
    server 127.0.0.1:8003;
  }

  server {
    listen 80;
    server_name www.domain.com;
    location / {
      proxy_pass http://myproject;
    }
  }
}

这意味着对/的所有请求都转到上游XXX下列出的任何服务器,优先使用端口8000。


如果我们只有一个服务器,我们可以直接将它包含在proxy_pass指令中。例如:

  server {
    ...
    location / {
      proxy_pass http://192.168.206.105:80;
      ...
    }
  }

但是如果我们有很多服务器,我们使用上游来维护服务器。Nginx将根据传入的流量进行负载平衡,如下面的答案所示。