小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Nginx負(fù)載均衡與高可用的實現(xiàn)

 Baruch 2018-03-17

當(dāng)生產(chǎn)環(huán)境里有很大的流量產(chǎn)生時,通常需要用負(fù)載均衡技術(shù)來做優(yōu)化,并確保容錯配置。Nginx不光可以實現(xiàn)Web Server,還可以作為HTTP負(fù)載均衡來分發(fā)流量給后端的應(yīng)用程序服務(wù)器,以此來提高性能。Nginx的負(fù)載均衡功能依賴于ngx_http_upstream_module模塊,所支持的代理方式有proxy_pass,fastcgi_pass,memcached_pass。

Nginx常用負(fù)載均衡算法:

輪詢(默認(rèn)算法)——每個請求會依次分配給后端不同的應(yīng)用程序服務(wù)器,不理會后端服務(wù)器的實際壓力

加權(quán)輪詢——權(quán)重越大的服務(wù)器,被分配到的次數(shù)就會越多,通常用于后端服務(wù)器性能不一致的情況

IP HASH——當(dāng)同IP進(jìn)行重復(fù)訪問時會被指定到上次訪問到的服務(wù)器,可以解決動態(tài)網(wǎng)站SESSION共享問題

upstream模塊常用參數(shù)說明:

server 192.168.0.100:80  負(fù)載均衡后端RealServer的IP或者域名,口不寫的話默認(rèn)80。高并發(fā)場景用域名,再通過DNS進(jìn)行負(fù)載均衡
 weight=5  權(quán)重,默認(rèn)為1,權(quán)重越大接收的請求越多
 max_fails=2  最大嘗試的失敗次數(shù),默認(rèn)為1,0表示禁止失敗嘗試
 fail_timeout=10s  失敗超時時間,默認(rèn)是10秒,通常3s左右比較合適
 backup  熱備配置,前段RealServer出現(xiàn)問題后會自動上線backup服務(wù)器
 down  標(biāo)志務(wù)器不可用,這個參數(shù)通常配合IP_HASH使用

Nginx負(fù)載均衡設(shè)置:

默認(rèn)的負(fù)載均衡配置

http {        #upstream模塊包含在http模塊下
    upstream  linuxidc{        #定義upstream名字,下面會引用
        server 192.168.1.100;        #指定后端服務(wù)器地址
        server 192.168.1.110;        #指定后端服務(wù)器地址
        server 192.168.1.120;        #指定后端服務(wù)器地址
    }

    server {
        listen 80;
        server name www.;
        location / {
            proxy_pass http://linuxidc;        #引用upstream
        }
    }
}

在上面的例子中,當(dāng)用戶訪問www.站點時,Nginx會負(fù)載平衡分配給后端的三個服務(wù)器。

加權(quán)負(fù)載均衡

http {     
    upstream  linuxidc{       
        server 192.168.1.100 weight=3;        #指定后端服務(wù)器地址,權(quán)重為3
        server 192.168.1.110;     
    }

    server {
        listen 80;
        server name www.;
        location / {
            proxy_pass http://linuxidc;       
        }
    }
}

在上面配置中,每3個請求分配給192.168.1.100,然后第4個請求會分配給192.168.1.110,如此循環(huán)下去。

IP HASH負(fù)載均衡

upstream linuxidc {
    ip_hash;        #采用IP HASH算法
    server 192.168.1.100;
    server 192.168.1.110;
    server 192.168.1.120;
}

如果需要將客戶與后端一臺服務(wù)器“綁定”起來,可以使用ip-hash負(fù)載平衡機制。這樣可以確保來自相同客戶機的請求總是指向相同的服務(wù)器除非該服務(wù)器不可用。

Nginx高可用的實現(xiàn),利用backup標(biāo)簽,可以實現(xiàn)高可用,當(dāng)主服務(wù)掛掉后,backup服務(wù)器會自動接管服務(wù),當(dāng)主服務(wù)恢復(fù)后,backup也會自動放棄服務(wù)

http {     
    upstream  linuxidc{       
        server 192.168.1.100
        server 192.168.1.110 backup; 
    }
    server {
        listen 80;
        server name www.;
        location / {
            proxy_pass http://linuxidc;       
        }
    }
}

Nginx的upstream模塊相當(dāng)于是建立一個函數(shù)庫一樣,把后端的服務(wù)器地址放在了一個池子里,而proxy模塊則是從這個池子里調(diào)用了這些服務(wù)器。

http_proxy_module模塊常用參數(shù):

proxy_set_header:讓后端服務(wù)器能獲取到前端用戶真實IP,而不只是代理服務(wù)器的IP

proxy_set_header Host $host;   
#當(dāng)后端服務(wù)器配置多個web站點時,該選項可以讓服務(wù)器識別出具體要訪問的是哪個站點,而不會將第一個站點作為默認(rèn)站點傳遞給用戶
proxy_set_header X-Forwarded-For $remote_addr;   
#如果后端服務(wù)器需要獲取用戶的真實IP,需要該選項

client_body_buffer_size:客戶端請求主體緩沖區(qū)大小

proxy_connect_timeout:代理服務(wù)器和后端真實服務(wù)器握手連接超時時間

proxy_send_timeout:后端服務(wù)器回傳數(shù)據(jù)給Nginx的時間,需要在設(shè)置的時間范圍內(nèi)發(fā)送完所有數(shù)據(jù),否則Nginx將斷開連接

proxy_read_timeout:代理服務(wù)器和后端服務(wù)器連接成功后,等待后端服務(wù)器響應(yīng)時間

前端Nginx反向代理,如何獲取客戶端真實IP?

#轉(zhuǎn)發(fā)動態(tài)頁面給Tomcat處理
location ~ \.(jsp|jspx|do)?$ {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://tomcat_server;

更多Nginx負(fù)載均衡配置相關(guān)教程見以下內(nèi)容

Nginx負(fù)載均衡配置說明 http://www./Linux/2016-03/129424.htm

Linux下Nginx+Tomcat負(fù)載均衡和動靜分離配置要點  http://www./Linux/2016-01/127255.htm

Docker+Nginx+Tomcat7配置簡單的負(fù)載均衡  http://www./Linux/2015-12/125907.htm

Nginx負(fù)載均衡(主備)+Keepalived  http://www./Linux/2015-12/126865.htm

使用Nginx作為負(fù)載均衡器 http://www./Linux/2015-12/125789.htm

CentOS環(huán)境下Nginx實現(xiàn)3臺虛擬機負(fù)載均衡 http://www./Linux/2015-12/125875.htm

Nginx反向代理負(fù)載均衡群集實戰(zhàn)  http://www./Linux/2015-08/122111.htm

Nginx 的詳細(xì)介紹請點這里
Nginx 的下載地址請點這里

本文永久更新鏈接地址http://www./Linux/2016-04/130350.htm

linux

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多