What does upstream mean in nginx?

gdb picture gdb · May 4, 2011 · Viewed 103.4k times · Source
upstream app_front_static {
    server 192.168.206.105:80;
}

Never seen it before, anyone knows, what it means?

Answer

Phil Lello picture Phil Lello · May 4, 2011

It's used for proxying requests to other servers.

An example from http://wiki.nginx.org/LoadBalanceExample is:

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

This means all requests for / go to the any of the servers listed under upstream XXX, with a preference for port 8000.