久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Nginx負(fù)載均衡配置實(shí)例

      什么是負(fù)載均衡

      負(fù)載均衡主要通過專門的硬件設(shè)備或者通過軟件算法實(shí)現(xiàn)。通過硬件設(shè)備實(shí)現(xiàn)的負(fù)載均衡效果好、效率高、性能穩(wěn)定,但是成本比較高。通過軟件實(shí)現(xiàn)的負(fù)載均衡主要依賴于均衡算法的選擇和程序的健壯性。均衡算法也是多種多樣的,常見的有兩大類:即靜態(tài)負(fù)載均衡算法和動(dòng)態(tài)負(fù)載均衡算法。靜態(tài)算法實(shí)現(xiàn)比較簡單,在一般網(wǎng)絡(luò)環(huán)境下也能達(dá)到比較好的效果,主要有一般輪詢算法、基于比率的加權(quán)輪詢算法以及基于優(yōu)先級(jí)的加權(quán)輪詢算法等。動(dòng)態(tài)負(fù)載均衡算法在較為復(fù)雜的網(wǎng)絡(luò)環(huán)境中適應(yīng)性更強(qiáng),效果更好,主要有基于任務(wù)量的最少連接優(yōu)先算法、基于性能的最快響應(yīng)優(yōu)先算法、預(yù)測算法及動(dòng)態(tài)性能分配算法等。

      網(wǎng)絡(luò)負(fù)載均衡技術(shù)的大致原理是利用一定的分配策略將網(wǎng)絡(luò)負(fù)載平衡地分?jǐn)偟骄W(wǎng)絡(luò)集群的各個(gè)操作單元上,使得單個(gè)重負(fù)載任務(wù)能夠分擔(dān)到多個(gè)單元上并行處理,或者使得大量并發(fā)訪問或數(shù)據(jù) 流量分擔(dān)到多個(gè)單元上分別處理,從而減少用戶的等待響應(yīng)時(shí)間。

      Nginx服務(wù)器負(fù)載均衡配置

      Nginx服務(wù)器實(shí)現(xiàn)了靜態(tài)的基于優(yōu)先級(jí)的加權(quán)輪詢算法,主要使用的配置是proxy_pass指令和upstream指令,這些內(nèi)容實(shí)際上很容易理解,關(guān)鍵點(diǎn)在于Nginx服務(wù)器的配置靈活多樣,如何在配置負(fù)載均衡的同時(shí)合理地整合其他功能,形成一套可以滿足實(shí)際需求的配置方案。

      下面的有一些基礎(chǔ)示例片段,當(dāng)然不可能將所有的配置情況包括在內(nèi),希望能夠起到拋磚引玉的效果,同時(shí)也需要大家在實(shí)際應(yīng)用過程中多總結(jié)多積累。在配置中需要注意的地方將以注釋的形式添加。

      配置實(shí)例一:對(duì)所有請(qǐng)求實(shí)現(xiàn)一般輪詢規(guī)則的負(fù)載均衡

          在以下實(shí)例片段中,backend服務(wù)器組中所有服務(wù)器的優(yōu)先級(jí)全部配置為默認(rèn)的weight=1,這樣它們會(huì)按照一般輪詢策略依次接收請(qǐng)求任務(wù)。該配置是一個(gè)最簡單的實(shí)現(xiàn)Nginx服務(wù)器負(fù)載均衡的配置。所有訪問www.myweb.name 的請(qǐng)求都會(huì)在backend服務(wù)器組中實(shí)現(xiàn)負(fù)載均衡。實(shí)例代碼如下:

       
      upstream backend                    #配置后端服務(wù)器組
      {
         server 192.168.1.2:80;
         server 192.168.1.3:80;
         server 192.168.1.4:80;          #默認(rèn)weight=1
      }
      server
      {
         listen 80;
         server_name www.myweb.name;
         index index.html index.htm;
         location / {
             proxy_pass http://backend;
             prox_set_header Host $host;
         }
         …
      }  

      配置實(shí)例二:對(duì)所有請(qǐng)求實(shí)現(xiàn)加權(quán)輪詢規(guī)則的負(fù)載均衡

          與“配置實(shí)例一”相比,在該實(shí)例片段中,backend服務(wù)器組中的服務(wù)器被賦予了不同的優(yōu)先級(jí)別,weight變量的值就是輪詢策略中的“權(quán)值”。其中,192.168.1.2:80的級(jí)別最高,優(yōu)先接收和處理客戶端請(qǐng)求;192.168.1.4:80的級(jí)別最低,是接收和處理客戶端請(qǐng)求最少的服務(wù)器,192.168.1.3:80將介于以上兩者之間。所有訪問www.myweb.name的請(qǐng)求都會(huì)在backend服務(wù)器組中實(shí)現(xiàn)加權(quán)負(fù)載均衡。實(shí)例代碼如下:

       
      upstream backend                    #配置后端服務(wù)器組
      {
         server 192.168.1.2:80 weight=5;
         server 192.168.1.3:80 weight=2;
         server 192.168.1.4:80;          #默認(rèn)weight=1
      }
      server
      {
         listen 80;
         server_name www.myweb.name;
         index index.html index.htm;
         location / {
             proxy_pass http://backend;
             prox_set_header Host $host;
         }
         …
      }

      配置實(shí)例三:對(duì)特定資源實(shí)現(xiàn)負(fù)載均衡

       在該實(shí)例片段中,我們設(shè)置了兩組被代理的服務(wù)器組,名為“videobackend”的一組用于對(duì)請(qǐng)求video資源的客戶端請(qǐng)求進(jìn)行負(fù)載均衡,另一組用于對(duì)請(qǐng)求filed資源的客戶端請(qǐng)求進(jìn)行負(fù)載均衡。所有對(duì)“http://www.mywebname/video/* ”的請(qǐng)求都會(huì)在videobackend服務(wù)器組中獲得均衡效果,所有對(duì)“http://www.mywebname/file/* ”的請(qǐng)求都會(huì)在filebackend服務(wù)器組中獲得均衡效果。該實(shí)例中展示的是實(shí)現(xiàn)一般負(fù)載均衡的配置,對(duì)于加權(quán)負(fù)載均衡的配置可以參考“配置實(shí)例二”。

          在location /file/ {……}塊中,我們將客戶端的真實(shí)信息分別填充到了請(qǐng)求頭中的“Host”、“X-Real-IP”和“X-Forwareded-For”頭域,這樣后端服務(wù)器組收到的請(qǐng)求中就保留了客戶端的真實(shí)信息,而不是Nginx服務(wù)器的信息。實(shí)例代碼如下:

       
      upstream videobackend                    #配置后端服務(wù)器組1
      {
         server 192.168.1.2:80;
         server 192.168.1.3:80;
         server 192.168.1.4:80;
      }
      upstream filebackend                    #配置后端服務(wù)器組2
      {
         server 192.168.1.5:80;
         server 192.168.1.6:80;
         server 192.168.1.7:80;
      }
      server
      {
         listen 80;
         server_name www.myweb.name;
         index index.html index.htm;
         location /video/ {
             proxy_pass http://videobackend; #使用后端服務(wù)器組1
             prox_set_header Host $host;
             …
         }
         location /file/ {
             proxy_pass http://filebackend;  #使用后端服務(wù)器組2
                                             #保留客戶端的真實(shí)信息
             prox_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             …
         }
      }  

      配置實(shí)例四:對(duì)不同域名實(shí)現(xiàn)負(fù)載均衡

      在該實(shí)例片段中,我們設(shè)置了兩個(gè)虛擬服務(wù)器和兩組后端代理的服務(wù)器組,分別用來接收不同的域名請(qǐng)求和對(duì)這些請(qǐng)求進(jìn)行負(fù)載均衡處理。如果客戶端請(qǐng)求域名為“home.myweb.name”,則服務(wù)器server1接收并轉(zhuǎn)向homebackend服務(wù)器組進(jìn)行負(fù)載均衡處理;如果客戶端請(qǐng)求域名為“bbs.myweb.name”,則由服務(wù)器server2接收bbsbackend服務(wù)器級(jí)進(jìn)行負(fù)載均衡處理。這樣就實(shí)現(xiàn)了對(duì)不同域名的負(fù)載均衡。

      需要注意兩組后端服務(wù)器組中有一臺(tái)服務(wù)器server 192.168.1.4:80是公用的。在該服務(wù)器上需要部署兩個(gè)域名下的所有資源才能保證客戶端請(qǐng)求不會(huì)出現(xiàn)問題。實(shí)例代碼如下:

      upstream bbsbackend                    #配置后端服務(wù)器組1
      {
         server 192.168.1.2:80 weight=2;
         server 192.168.1.3:80 weight=2;
         server 192.168.1.4:80;
      }
      upstream homebackend                    #配置后端服務(wù)器組2
      {
         server 192.168.1.4:80;
         server 192.168.1.5:80;
         server 192.168.1.6:80;
      }
                                             #開始配置server 1
      server
      {
         listen 80;
         server_name home.myweb.name;
         index index.html index.htm;
         location / {
             proxy_pass http://homebackend;
             prox_set_header Host $host;
             …
         }
         …
      }
                                             #開始配置server 2
      server
      {
         listen 80;
         server_name bbs.myweb.name;
         index index.html index.htm;
         location / {
             proxy_pass http://bbsbackend;
             prox_set_header Host $host;
             …
         }
         …
      }

      配置實(shí)例五:實(shí)現(xiàn)帶有URL重寫的負(fù)載均衡

          首先,我們來看具體的源碼,這是在實(shí)例一的基礎(chǔ)上做的修改:

      upstream backend                    #配置后端服務(wù)器組
      {
         server 192.168.1.2:80;
         server 192.168.1.3:80;
         server 192.168.1.4:80;          #默認(rèn)weight=1
      }
      server
      {
         listen 80;
         server_name www.myweb.name;
         index index.html index.htm;
         
         location /file/ {
             rewrite ^(/file/.*)/media/(.*).*$) $1/mp3/$2.mp3 last;
         }
         
         location / {
             proxy_pass http://backend;
             prox_set_header Host $host;
         }
         …
      }

      該實(shí)例片段與“配置一”相比,增加了對(duì)URI包含“/file/”的URL重寫功能。例如客戶端請(qǐng)求的URL為“http://www.myweb.name/file/downlaod/media/1.mp3 ”時(shí),該虛擬服務(wù)器首先使用location file/ {……}塊轉(zhuǎn)發(fā)到后端的backend服務(wù)器組中實(shí)現(xiàn)負(fù)載均衡。這樣,就車輕而易舉地實(shí)現(xiàn)了帶有URL重寫功能的負(fù)載均衡。在該配置方案中,一定要掌握清楚rewrite指令中l(wèi)ast標(biāo)記和break標(biāo)記的區(qū)別,才能達(dá)到預(yù)計(jì)的效果。

      以上5個(gè)配置實(shí)例展示了Nginx服務(wù)器實(shí)現(xiàn)不同情況下負(fù)載均衡配置的基本方法。由于Nginx服務(wù)器的功能在結(jié)構(gòu)上是增量式的,因此 ,我們可以在這些配置的基礎(chǔ)上繼續(xù)添加更多功能,比如Web緩存等功能,以及Gzip壓縮技術(shù)、身份認(rèn)證、權(quán)限管理等。同時(shí)在使用upstream指令配置服務(wù)器組時(shí),可以充分發(fā)揮各個(gè)指令的功能,配置出滿足需求、高效穩(wěn)定、功能豐富的Nginx服務(wù)器。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)