2021-10-16

Nginx 作為均衡負載伺服器 (HTTP load balancer)

Nginx 作為均衡負載伺服器 (HTTP load balancer)

這裡直接改 /etc/nginx/sites-enabled/default 的設定,其中 upstream 用來定義工作的群組。

upstream myapp1 { ip_hash; server 10.140.0.2:3000 weight=1; server 10.140.0.3:3000 weight=2; } server { listen 80; location / { proxy_pass http://myapp1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

ip_hash 是決定使用 ip 雜湊運算,讓用戶端的連線固定連到某一台,這樣有利於 session 或 cookie 的運作。

weight 的設定為權重,預設為 1。目前的設定,在沒有 ip_hash 的設定時,3 requests 會有 1 個給 10.140.0.2,另外 2 個給 10.140.0.2。有 ip_hash 的設定時,則是以用戶來區分。

沒有留言:

FB 留言