日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Nginx負載均衡的詳細配置及使用案例詳解.

 一本正經(jīng)地胡鬧 2019-09-07

感謝看過這一些列博文和評論的小伙伴, 我把自己所看到的學到的拿到這里來分享是想和大家一起學習進步, 想聽聽園友給出的意見, 也是對自己學習過程的一個總結(jié). 
技術(shù)無止境, 我們?nèi)孕枧?


1,話不多說, 這里我們來說下很重要的負載均衡, 那么什么是負載均衡呢? 

由于目前現(xiàn)有網(wǎng)絡(luò)的各個核心部分隨著業(yè)務(wù)量的提高,訪問量和數(shù)據(jù)流量的快速增長,其處理能力和計算強度也相應(yīng)地增大,使得單一的服務(wù)器設(shè)備根本無法承擔。在此情況下,如果扔掉現(xiàn)有設(shè)備去做大量的硬件升級,這樣將造成現(xiàn)有資源的浪費,而且如果再面臨下一次業(yè)務(wù)量的提升時,這又將導致再一次硬件升級的高額成本投入,甚至性能再卓越的設(shè)備也不能滿足當前業(yè)務(wù)量增長的需求。 
針對此情況而衍生出來的一種廉價有效透明的方法以擴展現(xiàn)有網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性的技術(shù)就是負載均衡(Load Balance)。


2, 負載均衡的種類

1)一種是通過硬件來進行解決,常見的硬件有NetScaler、F5、Radware和Array等商用的負載均衡器,但是它們是比較昂貴的
2)一種是通過軟件來進行解決的,常見的軟件有LVS、Nginx、apache等,它們是基于Linux系統(tǒng)并且開源的負載均衡策略.

3, 這里我們只來說Nginx(其他的大家有興趣可以自行查閱相關(guān)文檔)

Nginx(發(fā)音同 engine x)是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個BSD-like 協(xié)議下發(fā)行。由俄羅斯的程序設(shè)計師Igor Sysoev(伊戈爾·西索夫)所開發(fā),供俄國大型的入口網(wǎng)站及搜索引擎Rambler(漫步者)(俄文:Рамблер)使用。其特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力確實在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:新浪、網(wǎng)易、 騰訊等。
優(yōu)點:
1:可運行l(wèi)inux,并有 Windows 移植版。
2:在高連接并發(fā)的情況下,Nginx是Apache服務(wù)器不錯的替代品Nginx在美國是做虛擬主機生意的老板們經(jīng)常選擇的軟件平臺之一。能夠支持高達 50,000 個并發(fā)連接數(shù)的響應(yīng)

4, 創(chuàng)建兩臺Nginx服務(wù)器
由于自己在自己電腦上搭建, 所以 現(xiàn)在只模擬搭建兩臺Nginx服務(wù)器. 


負載均衡的功能:
轉(zhuǎn)發(fā)
故障移除
恢復添加
高可用 Ha

我們想要使用Nginx那么就必須滿足上面的四個條件.
我們配置負載均衡的目的是在于當用戶訪問我們的服務(wù)器的時候, 首先會通過 Nginx服務(wù)器來決定轉(zhuǎn)發(fā)到哪個Tomcat服務(wù)器上去給用戶提供服務(wù), 當然這個概率是我們通過權(quán)重來配置的. 經(jīng)過Nginx指派之后, 我們就可以處理高并發(fā)的訪問了, 這里就能達到負載均衡的目的.


5, 搭建Nginx
首先我們需要大家兩臺機器, 兩臺機器分別安裝了Nginx和Tomcat, IP分別為: 192.168.200.129. 192.168.200.130



接著我們需要將Nginx和Tomcat包分別拷貝到CentOS01和CentOS02上, 并且解壓好, 這里就不再復述這個過程了.
然后我們需要關(guān)閉Linux的防火墻, 否則的話啟動了Nginx也是連接不上的.



我們還是來再看下解壓吧:

解壓完之后我們需要編譯安裝:

復制代碼
 1 ./configure  2 --prefix=/usr/local/nginx  3 --pid-path=/var/run/nginx/nginx.pid  4 --lock-path=/var/lock/nginx.lock  5 --error-log-path=/var/log/nginx/error.log  6 --http-log-path=/var/log/nginx/access.log  7 --with-http_gzip_static_module  8 --http-client-body-temp-path=/var/temp/nginx/client  9 --http-proxy-temp-path=/var/temp/nginx/proxy 10 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 11 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 12 --http-scgi-temp-path=/var/temp/nginx/scgi
復制代碼

注意:上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var下創(chuàng)建temp及nginx目錄
mkdir -p /var/temp/nginx

生成了文件夾后我們直接拷貝上面的編譯安裝命令進行安裝.

執(zhí)行完上訴步驟后, 我們可以看到nginx目錄下生成了Makefile文件,我們接著往下: 


然后使用Make命令, 運行結(jié)束后在使用Make install命令進行安裝, 最后是啟動Nginx:

查看是否啟動成功:



配置反向服務(wù)代理器:
什么是反向服務(wù)呢? 首先說下正向服務(wù), 例如爬蟲程序, 我們主動出擊去獲取資源. 而反向服務(wù)我們是等待用戶來訪問. 區(qū)別在于主動和被動.
配置文件Nginx/conf/nginx.conf


配置Nginx轉(zhuǎn)發(fā)條件


重啟Nginx服務(wù)器



為了測試, 我們在兩個Tomcat 服務(wù)器的index.jsp中分別加了這是來自于哪個ip下的Tomcat. 如下圖所示:




重啟好Nginx后, 我們再來訪問192.168.200.129 這臺機器, 我么可以發(fā)現(xiàn)其實訪問的是129.168.200.130這臺機器.



負債均衡的配置, 配置轉(zhuǎn)發(fā)的權(quán)重: (另一臺CentOS02 依然按照CentOS01的配置)


我們在這里配置了兩臺轉(zhuǎn)發(fā)機器: 192.168.200.129和192.168.200.130, 它們的權(quán)重分別是2/3 和1/3, 也就是說訪問三次192.168.200.129, 有兩次是192.168.200.129上的Tomcat來處理, 有一次是192.168.200.130上的Tomcat來處理. 如果我們的Tomcat服務(wù)器更多 那么就需要在這里配置更多, 權(quán)重根據(jù)實際需求來劃分.

同上, 搭建另一臺機器192.168.200.130的負載均衡:



搭建Keepalived:(Keepalived需要依賴openssl)
這里如果我們的機器192.168.200.129 出現(xiàn)故障了呢? 那么怎么使用192.168.200.130上的Nginx進行轉(zhuǎn)發(fā)呢? 怎么設(shè)置主機和備機呢? 如果主機死了怎么進行故障移除呢? 如果主機從不可用到可用狀態(tài)又怎么進行恢復添加呢? 這些功能都是可以通過Keepalived來進行設(shè)置的.


Keepalived原理:

首先Keepalived可以在主機上產(chǎn)生一個虛擬的ip, 這里叫做vip(v是virtual的意思):192.168.200.150, keepalived會將這個vip綁定到交換機上.
當用戶訪問主機:192.168.200.129時, 交換機會通過這個ip和vip的對應(yīng)找到192.168.200.129上的Nginx進行處理.
如果當有一天192.168.200.129上的Nginx掛掉的時候, Keepalived會立即在備機上生成一個相同的vip: 192.168.200.150, 當用戶繼續(xù)訪問192.168.200.129時, 交換機上已經(jīng)綁定了vip, 這時發(fā)現(xiàn)這個vip是存在于192.168.200.130上面的, 所以直接將請求轉(zhuǎn)發(fā)到了備機上. 
如果主機被修復好能夠繼續(xù)對外提供服務(wù)時, 這時keepalived會將主機上繼續(xù)生成這個vip, 同時回收在備機上生成的vip. 這個是通過心跳檢查來判斷主機已恢復使用.


我這里已經(jīng)提前安裝好了oppenssl, 關(guān)于具體安裝方法大家可以自行百度.
檢查openssl 是否安裝成功: 


Keepalived的安裝命令:


查看Keepalived的安裝目錄:


編輯Keepalived的配置文件:

首先我們來清空配置文件(清空后會自動再生成一個keepalived.conf, 但是里面的內(nèi)容為空)
關(guān)于為什么要清空, 因為我們已經(jīng)配置好了一些相關(guān)內(nèi)容, 直接使用即可.

這里是來設(shè)置虛擬IPeth1:
因為我的CentOS是拷貝過來的, 所以這里是eth1, 關(guān)于怎么查看, 我們在文章開頭有查看本機ip: ifconfig, 那里面有顯示我們的網(wǎng)卡就是eth1.




配置完成之后, 啟動keepalived:


檢測Keepalived是否啟動成功:

這里查看 我們的機器多了兩個ip, 其實這兩個ip都是虛擬ip

設(shè)置備機:|
這里的權(quán)重只要低于主機的100就好.


啟動備機的Keepalived:



當主機停止服務(wù)時, 備機即可接管繼續(xù)服務(wù):

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多