njx如何實現負載均衡 使用Nginx實現負載均衡

2021-10-13 23:23:58 字數 2000 閱讀 2386

一、實現負載均衡

在上面的介紹中只實現了nginx的**一台wen伺服器,在現實的開發中不可能乙個nginx伺服器**乙個web伺服器的情況,而是**多台的web伺服器。

伺服器資訊:

no 主機名稱 ip位址 描述

以上結果顯示兩台web服務可以正常訪問,下面使用nginx**兩台伺服器

server 192.168.239.132:8080;

server 192.168.239.134:8080;

}location /

nginx -t
顯示如下資訊標識配置成功

成功之後重啟nginx的服務,觀察是否配置成功

root@ubuntu:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -s reload
使用瀏覽器訪問nginx伺服器,檢測是否**兩台web伺服器

此時我們可以看到nginx實現了兩台web伺服器的**,當使用者傳送請求的時候是實現迴圈訪問,這就實現了web伺服器的負載均衡

server 192.168.239.132:8080 weight=5;

server 192.168.239.134:8080 weight=1;

}

/usr/local/nginx/sbin/nginx -t

root@ubuntu:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -s reload

server 192.168.239.130   down;

server 192.168.239.130  backup;
以上操作會導致乙個問題,當使用者登入的時候訪問的是第一台伺服器,但是第二次訪問的時候被**第二胎伺服器,此時登入資訊就無效了,需要重新登入,此時其中的一種解決方案是讓使用者訪問的時候一直訪問到登入的web伺服器。此時針對以上的問題我們可以使用nginx的ip_hash配置實現,該特徵是使用者在以後的訪問中只能訪問第一次訪問的伺服器,該配置很簡單,直接在upstream節點中新增乙個ip_hash就可以實現

server 192.168.239.132:8080;

server 192.168.239.134:8080;

ip_hsah;

}以上的方案並非是最好的解決方案,最後的方案是將使用者的資訊儲存在redis中,之後再次訪問的時候先到redis中進行查詢在確定使用者是否登入,如果redis中有記錄則表示登入成功。

如何實現負載均衡

當大家提起高併發的時候,必然會提到 負載均衡 什麼是負載均衡呢?這樣做又有什麼好處呢?我們繼續往下看 一 什麼是負載均衡 1.這是沒有用負載均衡的情況,使用者都是直接請求到一台伺服器上,併發量不大的時候不建議採用負載均衡,畢竟需要多台伺服器來支撐,成本也是非常高昂的 但是使用者量大的時候,伺服器承載...

nginx如何實現負載均衡

nginx是乙個http伺服器。是乙個使用c語言開發的高效能的http 伺服器 反向 伺服器及電子郵件 imap pop3 伺服器。nginx能夠支撐5萬併發鏈結,並且cpu 記憶體等資源消耗卻非常低,執行非常穩定。反向 reverseproxy 方式是指以 伺服器來接受internet上的連線請求...

使用Nginx實現負載均衡

一 nginx 簡介nginx 是乙個高效能的http 伺服器和反向 伺服器。它起初是俄羅斯人igor sysoev 開發的,至今支撐者俄羅斯的很多大型的 二 nginx 支援的三種負載均衡策略 輪詢 將請求依次輪詢發給每個伺服器。ip雜湊 通過雜湊函式決定請求傳送給哪個伺服器。權重 伺服器的權重越...