Nginx 負載均衡
阿新 • • 發佈:2020-07-31
192.168.0.107 -> 127.0.0.1:8080 || 127.0.0.1:8081
輪詢(預設),每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器 down 掉,能自動剔除。
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream myserver { server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 80; server_name 192.168.0.107; location / { proxy_pass http://myserver; } } }
weight 權重,重預設為 1,權重越高被分配的客戶端越多
upstream myserver { server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=2; }
ip_hash,每個請求按訪問 ip 的 hash 結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決 session 的問題。
upstream myserver { ip_hash; server 127.0.0.1:8080; server 127.0.0.1:8081; }
fair(第三方),按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
upstream myserver { server 127.0.0.1:8080; server 127.0.0.1:8081; fair; }
url_hash(第三方),按訪問 url 的 hash 結果來分配請求,使每一個 url 定向到同一個後端伺服器。後端伺服器為快取時比較有效。注意:在 upstream 中加入 hash 語句。server 語句中不能寫入 weight 等其他的引數,hash_method 是使用的 hash 演算法。
upstream myserver { server 127.0.0.1:8080; server 127.0.0.1:8081; hash $request_uri; hash_method crc32; }