首頁  >  文章  >  運維  >  nginx負載平衡原理怎麼口述

nginx負載平衡原理怎麼口述

(*-*)浩
(*-*)浩原創
2019-11-01 10:19:013785瀏覽

nginx負載平衡原理怎麼口述

負載平衡原理

用戶端向反向代理程式發送請求,接著反向代理根據某種負載機制轉送請求至目標伺服器(這些伺服器都運行著相同的應用),並把獲得的內容返回給客戶端,期中,代理請求可能根據配置被發送到不同的伺服器。 (推薦學習:nginx教學

nginx負載平衡原理怎麼口述

#負載平衡配置

測試案例:

如下,分別在兩台伺服器(192.168.1.103, 192.168.1.102)上部署了相同的應用,並透過8080連接埠存取網站,如下

http://192.168.1.xx:8080/webautotest/xxxxxxx

同時在192.168. 1.103上安裝了nginx反向代理,想透過192.168.1.103的80埠來實現對兩個站點的存取

編輯nginx設定檔(例中為/usr/local/ngnix/conf/nginx. conf),找到http結點,如下,新增背景色部分的內容

nginx負載平衡原理怎麼口述

nginx負載平衡原理怎麼口述

#
http {
   upstream myapp1 {
       server 192.168.1.103:8080;
       server 192.168.1.104:8080;
   }
   ……略
  server {
       listen 80;
       server_name localhost;
 
       ……略
       location /webautotest/ {
           proxy_buffering off;
           proxy_pass http://myapp1;
       }
   }
}

重新載入設定檔

[root@localhost nginx-1.10.0]# /usr/local/ngnix/sbin/nginx -s reload

訪問測試url

如下,訪問相同的頁面,展示來自不同伺服器的頁面

nginx負載平衡原理怎麼口述

nginx負載平衡原理怎麼口述

說明:

負載平衡方法

nginx提供了以下三種負載平衡機制、方法:

round-robin — 請求以循環、輪轉的方式分發到應用程式伺服器。

least-connected — 下一個請求被指派到擁有最少活動連線數的伺服器

ip-hash — 使用一個雜湊函數,基於客戶端ip位址判斷下一個請求應該被分發到哪個伺服器。

預設的負載平衡配置

http {
   upstream myapp1 {
       server srv1.example.com;
       server srv2.example.com;
       server srv3.example.com;
   }
 
   server {
       listen 80;
 
       location / {
           proxy_pass http://myapp1;
       }
   }
}

上例中,有3個應用實例分別運行在srv1-srv3。當不顯示指定負載平衡方法時,預設為round-robin。所有請求都被代理轉發至myapp1伺服器群組,並根據負載平衡方法來分發請求。

以上是nginx負載平衡原理怎麼口述的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn