真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在Nginx中配置負載均衡-創(chuàng)新互聯(lián)

如何在Nginx中配置負載均衡?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)公司是專業(yè)的泗陽網(wǎng)站建設公司,泗陽接單;提供成都網(wǎng)站設計、網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行泗陽網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

什么是負載均衡

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

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

Nginx服務器負載均衡配置

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

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

配置實例一:對所有請求實現(xiàn)一般輪詢規(guī)則的負載均衡

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

...
 
upstream backend                    #配置后端服務器組
{
    server 192.168.1.2:80;
    server 192.168.1.3:80;
    server 192.168.1.4:80;          #默認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;
    }
    ...
} 

配置實例二:對所有請求實現(xiàn)加權輪詢規(guī)則的負載均衡

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

...
 
upstream backend                    #配置后端服務器組
{
    server 192.168.1.2:80 weight=5;
    server 192.168.1.3:80 weight=2;
    server 192.168.1.4:80;          #默認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;
    }
    ...
}

配置實例三:對特定資源實現(xiàn)負載均衡

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

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

...
 
upstream videobackend                    #配置后端服務器組1
{
    server 192.168.1.2:80;
    server 192.168.1.3:80;
    server 192.168.1.4:80;
}
upstream filebackend                    #配置后端服務器組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; #使用后端服務器組1
        prox_set_header Host $host;
        ...
    }
    location /file/ {
        proxy_pass http://filebackend;  #使用后端服務器組2
                                        #保留客戶端的真實信息
        prox_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        ...
    }
}  

配置實例四:對不同域名實現(xiàn)負載均衡

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

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

...
upstream bbsbackend                    #配置后端服務器組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                    #配置后端服務器組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;
        ...
    }
    ...
}

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

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

...
upstream backend                    #配置后端服務器組
{
    server 192.168.1.2:80;
    server 192.168.1.3:80;
    server 192.168.1.4:80;          #默認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;
    }
    ...
}

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

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

關于如何在Nginx中配置負載均衡問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。


網(wǎng)頁標題:如何在Nginx中配置負載均衡-創(chuàng)新互聯(lián)
當前路徑:http://weahome.cn/article/hhjss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部