Day43-七層+四層負(fù)載均衡

1.七層負(fù)載均衡

1.根據(jù)url調(diào)度不同的集群

10.0.0.5
10.0.0.7 /pass
10.0.0.8 /user
1.web01和web02配置相同 (只不過代碼不一樣)

[root@web01 conf.d]# cat url.oldxu.com.conf 
server {
    listen 80;
    server_name url.oldxu.com;
    root /code;

    location / {
        index index.html;
    }
}

2.lb配置

[root@lb01 conf.d]# cat proxy_url.oldxu.com.conf 
upstream user {
    server 172.16.1.8;
}
upstream pass {
    server 172.16.1.7;
}

server {
    listen 80;
    server_name url.oldxu.com;
    location / {
        proxy_pass http://user;
        include proxy_params;
    }
    location /user {
                proxy_pass http://user;
                include proxy_params;
    }
    location /pass {
                proxy_pass http://pass;
                include proxy_params;
    }
}
[root@lb01 conf.d]# systemctl restart nginx

PS: 在使用proxy_pass反向代理時,最后結(jié)尾添加/和不添加/有什么區(qū)別?

1.不添加 /
用戶如果請求: http://url.oldxu.com/user
會被代理至后端: http://url.oldxu.com/user

1.添加 /
用戶如果請求: http://url.oldxu.com/user
會被代理至后端: http://url.oldxu.com/

2.根據(jù)設(shè)備調(diào)度不同的集群 ( 瀏覽器 ) ( 手機(jī) )

10.0.0.5
10.0.0.7 pc
10.0.0.8 phone
1.所有的web都需要配置 ( 代碼不一樣)
[root@web01 conf.d]# cat /etc/nginx/conf.d/agent.oldxu.com.conf

server {
    listen 80;
    server_name agent.oldxu.com;
    root /code;

location / {
        index index.html;
    }

}

2.代理的配置

[root@lb01 conf.d]# cat proxy_agent.oldxu.com.conf 
upstream pc {
    server 172.16.1.7:80;
}

upstream phone {
    server 172.16.1.8:80;
}

server {
    listen 80;
    server_name agent.oldxu.com;
    location / {
        #默認(rèn)都走pc
        proxy_pass http://pc;
        include proxy_params;
        default_type text/html;
        charset utf-8;

如果是安卓或iphone,則走phone
        if ( $http_user_agent ~* "android|iphone|iPad" ) {
            proxy_pass http://phone;
        }
如果是IE瀏覽器,要么拒絕,要么返回一個好的瀏覽器下載頁面
        if ( $http_user_agent ~*  "MSIE" ) {
            return 200 '<a  target="_blank">點(diǎn)擊下載正版瀏覽器google.exe</a>';
        }
    }
}

2.四層負(fù)載均衡

1.什么是四層 OSI 傳輸層 TCP/IP UDP/TCP

四層是基于轉(zhuǎn)發(fā)方式:

2.四層負(fù)載均衡使用場景

1.四層負(fù)載均衡 + 七層負(fù)載均衡
2.dns + 多機(jī)房 + 四層負(fù)載均衡+七層負(fù)載均衡

3.SOA 松耦合架構(gòu)
    登錄      passport.jd.com
    注冊      reg.jd.com
    商品詳情    pro.jd.com
4.基于端口的轉(zhuǎn)發(fā)
                nginx 7層        web01       MySQL
nginx 4層  +                     web02       NFS
                nginx 7層        web03       Redis
5.nginx是1.9版本以后才引入的四層負(fù)載均衡

stream模塊實(shí)現(xiàn),但stream不能出現(xiàn)在http層
--with-stream
-with-stream_ssl_module
-with-stream_realip_module

stream {
    upstream backend {
        hash $remote_addr consistent;
        server backend1.example.com:12345 weight=5;
        server 127.0.0.1:12345 max_fails=3 
        server unix:/tmp/backend3;
    }
    server {
        listen 12345;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass backend;
    }
}

3.nginx四層+nginx七層+web集群--->場景

四層負(fù)載均衡基本配置

1.定義四層配置文件路徑

[root@lb-4 nginx]# vim /etc/nginx/nginx.conf
include /etc/nginx/conf.c/*.conf;

2.進(jìn)行初始化操作

[root@lb-4 ~]# rm -f /etc/nginx/conf.d/default.conf
[root@lb-4 nginx]# mkdir /etc/nginx/conf.c

3.配置四層負(fù)載均衡

[root@lb-4 ~]# cat /etc/nginx/conf.c/all.conf
stream {
    upstream blog {
        server 172.16.1.5:80;
        server 172.16.1.6:80;
    }
    server {
        listen 80;
        proxy_pass blog;
        proxy_timeout 3s;
        proxy_connect_timeout 3s;
    }
}
基于端口的轉(zhuǎn)發(fā)

需求: 用戶連接10.0.0.4的6666端口,其實(shí)連接的是172.16.1.7的22/TCP端口
需求: 用戶連接10.0.0.4的5555端口,其實(shí)連接的是172.16.1.51的3306/TCP端口

[root@lb-4 conf.c]# cat blog.oldxu.com.conf
stream {
    upstream ssh {
        server 172.16.1.7:22;
    }
    upstream mysql {
        server 172.16.1.51:3306;
    }
    
    server {
        listen 6666;
        proxy_pass ssh;
    }

    server {
        listen 5555;
        proxy_pass mysql;
    }
}

4.四層負(fù)載均衡怎么記錄日志 必須在stream層,不能出現(xiàn)在http層

log_format  proxy '$remote_addr -  [$time_local]
            '   "$upstream_addr" 

    access_log /var/log/nginx/tcp.log proxy;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末膏潮,一起剝皮案震驚了整個濱河市咬腋,隨后出現(xiàn)的幾起案子指攒,更是在濱河造成了極大的恐慌,老刑警劉巖皇型,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缸濒,死亡現(xiàn)場離奇詭異,居然都是意外死亡误辑,警方通過查閱死者的電腦和手機(jī)茉兰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進(jìn)店門尤泽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欣簇,“玉大人规脸,你說我怎么就攤上這事⌒苎剩” “怎么了莫鸭?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長横殴。 經(jīng)常有香客問我被因,道長,這世上最難降的妖魔是什么衫仑? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任梨与,我火速辦了婚禮,結(jié)果婚禮上文狱,老公的妹妹穿的比我還像新娘粥鞋。我一直安慰自己,他們只是感情好瞄崇,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布呻粹。 她就那樣靜靜地躺著,像睡著了一般苏研。 火紅的嫁衣襯著肌膚如雪等浊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天摹蘑,我揣著相機(jī)與錄音筹燕,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛撒踪,可吹牛的內(nèi)容都是我干的踪少。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼糠涛,長吁一口氣:“原來是場噩夢啊……” “哼援奢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忍捡,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤集漾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后砸脊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體具篇,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年凌埂,在試婚紗的時候發(fā)現(xiàn)自己被綠了驱显。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞳抓,死狀恐怖埃疫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情孩哑,我是刑警寧澤栓霜,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站横蜒,受9級特大地震影響胳蛮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜丛晌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一仅炊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧澎蛛,春花似錦抚垄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至斤贰,卻和暖如春智哀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荧恍。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工瓷叫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屯吊,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓摹菠,卻偏偏與公主長得像盒卸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子次氨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容