Nginx簡(jiǎn)介&集群搭建

一郎哭、nginx簡(jiǎn)介

1.什么是nginx?

一個(gè)高性能的HTTP反向代理服務(wù)菇存,也是一個(gè)IMAP/POP3/SMTP服務(wù)
特點(diǎn)是占用內(nèi)存少夸研,并發(fā)能力強(qiáng)

2.為什么使用niginx?

互聯(lián)網(wǎng)時(shí)代依鸥,海量用戶高并發(fā)已然成為互聯(lián)網(wǎng)的主體亥至。
如何能讓一個(gè)網(wǎng)站承載幾萬(wàn)甚至幾十萬(wàn)個(gè)用戶的持續(xù)訪問呢?這是中小網(wǎng)站急需解決的問題毕籽。
傳統(tǒng)單機(jī)tomcat搭建的網(wǎng)站抬闯,在比較理想的狀態(tài)下能夠承受的并發(fā)訪問量在 150 到 200 左右。按照并發(fā)訪問量占總用戶數(shù)量的 5% 到 10% 這樣計(jì)算关筒,單點(diǎn) tomcat 網(wǎng)站的用戶人數(shù)在 1500 到 4000 左右溶握。遠(yuǎn)遠(yuǎn)不能滿足海量用戶的訪問需求。這時(shí)候可以使用負(fù)載均衡來(lái)解決高并發(fā)的問題蒸播,而nginx就是一款高性能可以實(shí)現(xiàn)負(fù)載均衡的代理服務(wù)器睡榆。

應(yīng)用場(chǎng)景:

  • http 服務(wù)器,可以做靜態(tài)網(wǎng)頁(yè)的 http 服務(wù)器袍榆。
  • 配置虛擬機(jī)胀屿,一個(gè)域名可以被多個(gè) ip 綁定“福可以根據(jù)域名的不同把請(qǐng)求轉(zhuǎn)發(fā)給運(yùn)行在不同端口的服務(wù)器宿崭。
  • 反向代理,負(fù)載均衡才写。把請(qǐng)求轉(zhuǎn)發(fā)給不同的服務(wù)器葡兑。

二、搭建集群

1.在Windows下搭建集群

1.1.在 D 盤新建兩個(gè)新建兩個(gè)目錄 tomcat1赞草、tomcat2
1.2.修改 tomcat2 的端口讹堤,例如, 在以 tomcat1 的端口為基礎(chǔ)上+10厨疙,修改完洲守,啟動(dòng)這兩個(gè) tomcat,再分別訪問

  • 訪問 8080 端口:localhost:8080/test/
  • 訪問 8090 端口:localhost:8090/test/

1.3.解壓 nginx


圖片.png

修改 ngnix 的 nginx.conf 文件沾凄,在 location / 下添加反向代理服務(wù)器梗醇,代理 8080 端口:

location / {
  root   html;
  index  index.html index.htm;
  proxy_pass http://localhost:8080
}

以上只是代理了一臺(tái)服務(wù)器。啟動(dòng) nginx撒蟀,每次訪問 localhost/test/叙谨, 最后訪問的都是8080端口服務(wù)器的數(shù)據(jù)。
1.4.代理集群牙肝,例如代理兩臺(tái)服務(wù)器

//需要在http節(jié)點(diǎn)上添加一個(gè)
upstream mz{
  server 127.0.0.1:8080;
  server 127.0.0.1:8090;
}
//修改location /下的反向代理
    proxy_pass http://mz

修改如圖:


圖片.png

另外,還可以給服務(wù)器添加權(quán)重:


圖片.png

表示如果有 6 次訪問,則有 4 次可能訪問到第二個(gè)服務(wù)器配椭。啟動(dòng) nginx虫溜,則每次訪問localhost/test/,會(huì)有可能訪問到8080端口服務(wù)器的數(shù)據(jù)股缸,也可能訪問到8090端口服務(wù)器的數(shù)據(jù)衡楞。
1.5.Session共享問題
  • 解決方式一(只能在 windows 下好使):
    web 服務(wù)器解決(廣播機(jī)制),注意:tomcat 下性能低
    修改兩個(gè)地方:
    • 修改兩個(gè) tomcat 的 server.xml敦姻,支持共享瘾境,將引擎標(biāo)簽下的 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>注釋去掉
      圖片.png
    • 修改項(xiàng)目的配置文件 web.xml 中添加一個(gè)節(jié)點(diǎn) <distributable/>
      圖片.png
  • 解決方式二:可以將 session 的 id 放入 redis 中
  • 解決方式三:保證一個(gè) ip 地址永遠(yuǎn)的訪問一臺(tái) web 服務(wù)器,就不存在 session 共享問題了镰惦,在 nginx 的配置文件中 upstream 中添加 ip_hash(在 Linux 下經(jīng)常使用該方式)

    ip_hash 指令能夠?qū)⒛硞€(gè)客戶端 IP 的請(qǐng)求通過哈希算法定位到同一臺(tái)后端服務(wù)器上迷守。

2.在Linux下搭建集群

2.1.先將 nginx 上傳到 linux 上
2.2.解壓 nginx
2.3.先編譯 nginx

安裝依賴包
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
執(zhí)行編譯
先進(jìn)入 nginx的目錄
執(zhí)行
        ./configure

2.4.安裝 nginx

  • 執(zhí)行make
  • 執(zhí)行make install
    2.5.啟動(dòng) nginx:
cd nginx 目錄下
    配置文件 conf
    啟動(dòng)nginx
        ./nginx

注:
①在 nginx 目錄下有一個(gè) sbin 目錄,sbin 目錄下有一個(gè) nginx 可執(zhí)行程序
②關(guān)閉 ngnix:

  • 關(guān)閉命令:相當(dāng)于找到 nginx 進(jìn)程kill ./nginx -s stop
  • 退出命令 ./nginx -s quit等程序執(zhí)行完畢后關(guān)閉旺入,建議使用此命令兑凿。
    2.6.將端口號(hào) 80 放行
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
將該設(shè)置添加到防火墻的規(guī)則中
/etc/rc.d/init.d/iptables save

2.7.修改 conf 文件和 window 下一樣:配置集群

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市茵瘾,隨后出現(xiàn)的幾起案子礼华,更是在濱河造成了極大的恐慌,老刑警劉巖拗秘,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件圣絮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡雕旨,警方通過查閱死者的電腦和手機(jī)扮匠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)奸腺,“玉大人餐禁,你說(shuō)我怎么就攤上這事⊥徽眨” “怎么了帮非?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)讹蘑。 經(jīng)常有香客問我末盔,道長(zhǎng),這世上最難降的妖魔是什么座慰? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任陨舱,我火速辦了婚禮,結(jié)果婚禮上版仔,老公的妹妹穿的比我還像新娘游盲。我一直安慰自己误墓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布益缎。 她就那樣靜靜地躺著谜慌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪莺奔。 梳的紋絲不亂的頭發(fā)上欣范,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音令哟,去河邊找鬼恼琼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屏富,可吹牛的內(nèi)容都是我干的晴竞。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼役听,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼颓鲜!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起典予,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤甜滨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后瘤袖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衣摩,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年捂敌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了艾扮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡占婉,死狀恐怖泡嘴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情逆济,我是刑警寧澤酌予,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站奖慌,受9級(jí)特大地震影響抛虫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜简僧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一建椰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岛马,春花似錦棉姐、人聲如沸屠列。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)脸哀。三九已至,卻和暖如春扭吁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盲镶。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工侥袜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人溉贿。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓枫吧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親宇色。 傳聞我的和親對(duì)象是個(gè)殘疾皇子九杂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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