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 的設定時,則是以用戶來區分。
沒有留言:
張貼留言