<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java技術(shù)研究

    統(tǒng)計(jì)

    留言簿(3)

    閱讀排行榜

    評(píng)論排行榜

    使用nginx sticky實(shí)現(xiàn)基于cookie的負(fù)載均衡(轉(zhuǎn))

    轉(zhuǎn)自http://www.ttlsa.com/nginx/nginx-modules-nginx-sticky-module/

    在多臺(tái)后臺(tái)服務(wù)器的環(huán)境下,我們?yōu)榱舜_保一個(gè)客戶(hù)只和一臺(tái)服務(wù)器通信,我們勢(shì)必使用長(zhǎng)連接。使用什么方式來(lái)實(shí)現(xiàn)這種連接呢,常見(jiàn)的有使用nginx自帶的ip_hash來(lái)做,我想這絕對(duì)不是一個(gè)好的辦法,如果前端是CDN,或者說(shuō)一個(gè)局域網(wǎng)的客戶(hù)同時(shí)訪問(wèn)服務(wù)器,導(dǎo)致出現(xiàn)服務(wù)器分配不均衡,以及不能保證每次訪問(wèn)都粘滯在同一臺(tái)服務(wù)器。如果基于cookie會(huì)是一種什么情形,想想看, 每臺(tái)電腦都會(huì)有不同的cookie,在保持長(zhǎng)連接的同時(shí)還保證了服務(wù)器的壓力均衡,nginx sticky值得推薦。

    如果瀏覽器不支持cookie,那么sticky不生效,畢竟整個(gè)模塊是給予cookie實(shí)現(xiàn)的.

    1、nginx sticky 模塊工作流程圖

    ip_hash

    nginx sticky

    2、下載安裝nginx sticky
    下載地址:http://code.google.com/p/nginx-sticky-module/downloads/list
    目前共有2個(gè)版本,一個(gè)是1.0,一個(gè)是1.1,1.0已經(jīng)壽終正寢了.1.1增加了權(quán)重的參數(shù).

    安裝nginx + sticky模塊

    # tar -xzvf nginx-sticky-module-1.1.tar.gz
     
    # tar -czvf nginx-1.0.6
    # cd nginx-1.0.6
    # ./configure --prefix=/usr/local/nginx-1.0.6 --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=../nginx-sticky-module-1.1
    # make
    # make install

    3、配置nginx sticky

    nginx 的upstream使用sticky,如下

    upstream cluster_test {
         sticky;
         server 192.168.100.209:80;
         server 192.168.100.225:80;
    }

    配置虛擬主機(jī)(以下有配置的可以忽略掉)

    server {
            listen        80;
            server_name     test.ttlsa.com;
            index index.jsp;
     
            access_log /data/logs/nginx/test.ttlsa.com_access.log main;
     
            set $proxy_pass cluster_test;
     
            location /
            {
                    proxy_pass http://$proxy_pass;
                    include proxy.conf;
                    add_header Cache-Control no-store;
            }
     
    }

    備注:
    nginx和apache不同,nginx每次安裝一個(gè)新的模塊都需要重新編譯一次,編譯完成之后將nginx這一個(gè)文件拷貝到sbin下面即可.我這邊全新安裝一次,因?yàn)楣驹趦赡昵熬瓦x擇了這個(gè)nginx版本,也沒(méi)打算去換,所以大家可以把nginx換成自己最合適的一個(gè)版本,不用完全跟著文章來(lái)安裝.

    4、重啟nginx

    /usr/local/nginx-1.0.6/sbin/nginx -t
    /usr/local/nginx-1.0.6/sbin/nginx -s reload

    5、測(cè)試nginx sticky

    我后端是兩臺(tái)tomcat服務(wù)器,每臺(tái)服務(wù)器的JESSIONED值都有特殊的標(biāo)志。比如209這臺(tái)是s209,225這臺(tái)是s225.打開(kāi)頁(yè)面,不管怎么刷新JESSIONED值都是不變.但是如果開(kāi)啟了sticky,可以看到JESSIONED值不會(huì)發(fā)生變化.死死的粘滯在其中一臺(tái)服務(wù)器上.測(cè)試圖如下:

    使用sticky的情況下,不管怎么刷新都是下面圖

    ip_hash

    nginx sticky 模塊

    不使用nginx sticky模塊,多刷幾次就變了(有時(shí)候刷一次,有時(shí)候多刷幾次,看概率,不過(guò)肯定會(huì)變),如下圖

    ip_hash

    nginx sticky 模塊

    備注:每臺(tái)后端真實(shí)服務(wù)器都會(huì)有一個(gè)唯一的route值,所以不管你真實(shí)服務(wù)器前端有幾個(gè)裝了sticky的nginx代理,他都是不會(huì)變化的. 這個(gè)cookie是會(huì)話方式的,所以你瀏覽器關(guān)閉了,服務(wù)器會(huì)給你重新分配一臺(tái)服務(wù)器。

    6、nginx sticky其他語(yǔ)法

    sticky [name=route] [domain=.foo.bar] [path=/] [expires=1h] [hash=index|md5|sha1] [no_fallback];
    name: 可以為任何的string字符,默認(rèn)是route
    domain:哪些域名下可以使用這個(gè)cookie
    path:哪些路徑對(duì)啟用sticky,例如path/test,那么只有test這個(gè)目錄才會(huì)使用sticky做負(fù)載均衡
    expires:cookie過(guò)期時(shí)間,默認(rèn)瀏覽器關(guān)閉就過(guò)期,也就是會(huì)話方式。
    no_fallbackup:如果設(shè)置了這個(gè),cookie對(duì)應(yīng)的服務(wù)器宕機(jī)了,那么將會(huì)返回502(bad gateway 或者 proxy error),建議不啟用

    7、nginx sticky expires用法

    upstream cluster_test {
         sticky expires=1h;
         server 192.168.100.209:80;
         server 192.168.100.225:80;
    }

    啟用了過(guò)期,cookie如下截圖,cookie1個(gè)小時(shí)才過(guò)期

    ip_hash

    nginx sticky expire用法

    如下是不啟用過(guò)期
    ip_hash

    nginx sticky 不啟用expire

    8、nginx sticky使用注意事項(xiàng)
    nginx sticky模塊不能與ip_hash同時(shí)使用

    轉(zhuǎn)摘請(qǐng)注明出處:http://www.ttlsa.com/html/1895.html
    官方文檔:http://code.google.com/p/nginx-sticky-module/wiki/Documentation

    posted on 2014-03-27 16:31 小秦 閱讀(276) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 特级毛片A级毛片免费播放| 亚洲国产综合91精品麻豆| 亚洲日韩中文字幕| 久久免费福利视频| 亚洲成a人片在线观看无码| 成人免费777777被爆出| 黑人大战亚洲人精品一区| 国产成人自产拍免费视频| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲一区二区三区香蕉| fc2免费人成在线视频| 免费a级毛片无码av| 暖暖免费中文在线日本| 免费在线观看一级毛片| 一级毛片**免费看试看20分钟| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲熟妇久久精品| 免费观看理论片毛片| 日本系列1页亚洲系列| 亚洲第一页综合图片自拍| 国产V片在线播放免费无码| 亚洲AV永久无码精品一百度影院| 成人片黄网站色大片免费观看APP| 亚洲国产成人高清在线观看| 亚洲电影免费在线观看| 亚洲午夜一区二区电影院| 搡女人免费视频大全| 免费播放美女一级毛片| 国产gv天堂亚洲国产gv刚刚碰| 精品四虎免费观看国产高清午夜| 亚洲91av视频| 最近中文字幕免费mv视频7| 人人狠狠综合久久亚洲| 亚洲日韩精品一区二区三区| 免费黄色福利视频| 亚洲av综合av一区二区三区| 永久亚洲成a人片777777| 57pao国产成永久免费视频| 亚洲日韩精品A∨片无码加勒比| 亚洲A∨午夜成人片精品网站 | 一个人免费播放在线视频看片|