Syntax: upstream name {...} Default:-- Context:http
down | 当前的server暂时不参与负载均衡 |
backup | 预留的备份服务器 |
max_fails | 容许请求失败的次数 |
fail_timeout | 通过max_fails失败后,服务暂停的时间 |
max_conns | 限制最大的接收的链接数 |
轮询 | 按时间顺序逐一分配到不一样的后端服务器 |
加权轮询 | weight值越大,分配到的访问概率越高 |
ip_hash | 每一个请求按访问IP的hash结果分配,这样来自同一个IP的请求,固定访问一个 |
least_conn | 最少链接数,哪一个机器链接数少就分发 |
url_hash | 按照访问的URL的hash结果来分配请求,是每一个URL定向到同一个后端服务器 |
hash关键数值 | hash自定义的key |
server { listen 8001; server_name localhost; #charset koi8-r; access_log /var/log/nginx/server.access.log main; location / { root /opt/app/code1; index index.html index.htm; } ... ... } server { listen 8002; server_name localhost; #charset koi8-r; access_log /var/log/nginx/server.access.log main; location / { root /opt/app/code2; index index.html index.htm; } ... ... } server { listen 8003; server_name localhost; #charset koi8-r; access_log /var/log/nginx/server.access.log main; location / { root /opt/app/code3; index index.html index.htm; } ... ... } server { listen 80; server_name localhost; #charset koi8-r; access_log /var/log/nginx/test_proxy.access.log main; location / { proxy_pass http://test_upstream; } ... ... } ##普通轮询 upstream test_upstream { server localhost:8001; server localhost:8002; server localhost:8003; }
upstream test_upstream { server localhost:8001; server localhost:8002 weight=5; server localhost:8003; }
upstream test_upstream { server localhost:8001 down; server localhost:8002 backup; server localhost:8003 max_fails=1 fail_timeout=10s; }
upstream test_upstream { ip_hash; server localhost:8001; server localhost:8002; server localhost:8003; }
Syntax: hash key [consistent]; Default: -- Context: upstream
##例: upstream test_upstream { hash $request_uri; server localhost:8001; server localhost:8002; server localhost:8003; }