如何使用nginx配置負載均衡
分類:云服務資訊
編輯:
瀏覽量:100
2021-07-23 14:03:43
??負載均衡是擴展應用程序并提高其性能和冗余的絕佳方法。Nginx是一種流行的Web服務器軟件,可以配置為簡單但功能強大的負載均衡器,以提高服務器資源的可用性和效率。在負載 均衡配置中,nginx充當在多個單獨服務器上工作的分布式Web應用程序的單個入口點。作為先決條件,您需要至少安裝兩臺主機并安裝Web服務器軟件,以便了解負載均衡器的優勢。下面就由新網小編和大家講一講nginx配置負載均衡。
??一、upstream配置
??在http配置下增加upstream配置即可:
??upstream nodes {
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??}
??upstream對配置的上游服務器按照默認的輪詢方式進行請求。如果上游服務器掛掉,能自己主動剔除,無需手動干預。這種方式簡單快捷。但是如果上游服務器在配置不均衡的情況下,是解決不了的。所以nginx有其他很多的配置項。下面就一一介紹一下。
??二、權重配置
??weight和請求數量成正比,主要用于上游服務器配置不均衡的情況。下面的配置中,192.168.10.2機器的請求量是192.168.10.1機器請求量的2倍。
??upstream nodes {
??server 192.168.10.1:8668 weight=5;
??server 192.168.10.2:8668 weight=10;
??}
??三、ip_hash配置
??每一個請求按照請求的ip的hash結果分配。這樣每一個請求固定落在一個上游服務器,能夠解決ip會話在同一臺服務器的問題。
??upstream nodes {
??ip_hash;
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??}
??四、fair配置
??按上游服務器的響應時間來分配請求。響應時間短的優先分配。
??upstream nodes {
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??fair;
??}
??五、url_hash配置
??按照訪問的url的hash結果來分配請求,使每一個url定向到同一個上游服務器。注意:在upstream中加入hash語句。server語句中不能寫入weight等其他的參數,hash_method是使用的hash算法。
??upstream nodes {
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??hash $request_uri;
??hash_method crc32;
??}
??六、下面再說下在upstream中常用的配置項
??down:表示當前的server不參與負載均衡。
??weight:默覺得1,weight越大,負載的權重就越大。
??max_fails :請求失敗的次數默覺得1。
??fail_timeout : max_fails次失敗后,暫停請求此臺服務器的時間。
??backup: 其他全部的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。
??upstream nodes {
??ip_hash;
??server 192.168.10.1:8668 down;
??server 192.168.10.2:8668 weight=2;
??server 192.168.10.3:8668;
??server 192.168.10.4:8668 backup;
??}
??如果您希望提高Web應用程序的性能和可用性,那么設置負載均衡器絕對值得考慮。使用nginx進行負載均衡功能強大且設置相對簡單,并且與簡單的加密解決方案(例如Let's Encrypt客戶端)一起使用,它為您的Web場提供了一個很好的前端。雖然使用多個主機可以保護您的Web服務具有冗余,但負載均衡器本身仍然可能單點故障。您可以通過在多個nginx之間設置浮動IP來進一步提高高可用性。小伙伴們要想獲得更多nginx配置負載均衡的內容,請關注新網!
??一、upstream配置
??在http配置下增加upstream配置即可:
??upstream nodes {
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??}
??upstream對配置的上游服務器按照默認的輪詢方式進行請求。如果上游服務器掛掉,能自己主動剔除,無需手動干預。這種方式簡單快捷。但是如果上游服務器在配置不均衡的情況下,是解決不了的。所以nginx有其他很多的配置項。下面就一一介紹一下。
??二、權重配置
??weight和請求數量成正比,主要用于上游服務器配置不均衡的情況。下面的配置中,192.168.10.2機器的請求量是192.168.10.1機器請求量的2倍。
??upstream nodes {
??server 192.168.10.1:8668 weight=5;
??server 192.168.10.2:8668 weight=10;
??}
??三、ip_hash配置
??每一個請求按照請求的ip的hash結果分配。這樣每一個請求固定落在一個上游服務器,能夠解決ip會話在同一臺服務器的問題。
??upstream nodes {
??ip_hash;
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??}
??四、fair配置
??按上游服務器的響應時間來分配請求。響應時間短的優先分配。
??upstream nodes {
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??fair;
??}
??五、url_hash配置
??按照訪問的url的hash結果來分配請求,使每一個url定向到同一個上游服務器。注意:在upstream中加入hash語句。server語句中不能寫入weight等其他的參數,hash_method是使用的hash算法。
??upstream nodes {
??server 192.168.10.1:8668;
??server 192.168.10.2:8668;
??hash $request_uri;
??hash_method crc32;
??}
??六、下面再說下在upstream中常用的配置項
??down:表示當前的server不參與負載均衡。
??weight:默覺得1,weight越大,負載的權重就越大。
??max_fails :請求失敗的次數默覺得1。
??fail_timeout : max_fails次失敗后,暫停請求此臺服務器的時間。
??backup: 其他全部的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。
??upstream nodes {
??ip_hash;
??server 192.168.10.1:8668 down;
??server 192.168.10.2:8668 weight=2;
??server 192.168.10.3:8668;
??server 192.168.10.4:8668 backup;
??}
??如果您希望提高Web應用程序的性能和可用性,那么設置負載均衡器絕對值得考慮。使用nginx進行負載均衡功能強大且設置相對簡單,并且與簡單的加密解決方案(例如Let's Encrypt客戶端)一起使用,它為您的Web場提供了一個很好的前端。雖然使用多個主機可以保護您的Web服務具有冗余,但負載均衡器本身仍然可能單點故障。您可以通過在多個nginx之間設置浮動IP來進一步提高高可用性。小伙伴們要想獲得更多nginx配置負載均衡的內容,請關注新網!
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科