1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        看完這篇,可以隨意玩轉(zhuǎn)Nginx

        共 4498字,需瀏覽 9分鐘

         ·

        2021-03-04 17:49

        作者 | 薔薇Nina

        來源丨cnblogs.com/wcwnina/p/8728391.html


        想必大家一定聽說過Nginx,若沒聽說過它,那么一定聽過它的"同行"Apache 吧!


        Nginx 的產(chǎn)生


        Nginx 同 Apache 一樣都是一種 Web 服務(wù)器?;?REST 架構(gòu)風(fēng)格,以統(tǒng)一資源描述符(Uniform Resources IdentifierURI 或者統(tǒng)一資源定位符(Uniform Resources LocatorURL 作為溝通依據(jù),通過 HTTP 協(xié)議提供各種網(wǎng)絡(luò)服務(wù)。


        然而,這些服務(wù)器在設(shè)計之初受到當(dāng)時環(huán)境的局限,例如當(dāng)時的用戶規(guī)模,網(wǎng)絡(luò)帶寬,產(chǎn)品特點等局限并且各自的定位和發(fā)展都不盡相同。這也使得各個 Web 服務(wù)器有著各自鮮明的特點。


        Apache 的發(fā)展時期很長,而且是毫無爭議的世界第一大服務(wù)器。它有著很多優(yōu)點:穩(wěn)定、開源、跨平臺等等。


        它出現(xiàn)的時間太長了,它興起的年代,互聯(lián)網(wǎng)產(chǎn)業(yè)遠遠比不上現(xiàn)在。所以它被設(shè)計為一個重量級的。


        它不支持高并發(fā)的服務(wù)器。在 Apache 上運行數(shù)以萬計的并發(fā)訪問,會導(dǎo)致服務(wù)器消耗大量內(nèi)存。


        操作系統(tǒng)對其進行進程或線程間的切換也消耗了大量的 CPU 資源,導(dǎo)致 HTTP 請求的平均響應(yīng)速度降低。


        這些都決定了 Apache 不可能成為高性能 Web 服務(wù)器,輕量級高并發(fā)服務(wù)器 Nginx 就應(yīng)運而生了。


        俄羅斯的工程師 Igor Sysoev,他在為 Rambler Media 工作期間,使用 C 語言開發(fā)了 Nginx。


        Nginx 作為 Web 服務(wù)器一直為 Rambler Media 提供出色而又穩(wěn)定的服務(wù)。然后呢,Igor Sysoev 將 Nginx 代碼開源,并且賦予自由軟件許可證。


        由于以下這幾點,所以,Nginx 火了


        • Nginx 使用基于事件驅(qū)動架構(gòu),使得其可以支持?jǐn)?shù)以百萬級別的 TCP 連接。

        • 高度的模塊化和自由軟件許可證使得第三方模塊層出不窮(這是個開源的時代啊。

        • Nginx 是一個跨平臺服務(wù)器,可以運行在 Linux、Windows、FreeBSD、Solaris、AIX、Mac OS 等操作系統(tǒng)上。

        • 這些優(yōu)秀的設(shè)計帶來的極大的穩(wěn)定性。


        Nginx 的用武之地


        Nginx 是一款自由的、開源的、高性能的 HTTP 服務(wù)器和反向代理服務(wù)器;同時也是一個 IMAP、POP3、SMTP 代理服務(wù)器。


        Nginx 可以作為一個 HTTP 服務(wù)器進行網(wǎng)站的發(fā)布處理,另外 Nginx 可以作為反向代理進行負(fù)載均衡的實現(xiàn)。

        關(guān)于代理

        說到代理,首先我們要明確一個概念,所謂代理就是一個代表、一個渠道;此時就涉及到兩個角色,一個是被代理角色,一個是目標(biāo)角色。


        被代理角色通過這個代理訪問目標(biāo)角色完成一些任務(wù)的過程稱為代理操作過程;如同生活中的專賣店,客人到 adidas 專賣店買了一雙鞋,這個專賣店就是代理,被代理角色就是 adidas 廠家,目標(biāo)角色就是用戶。

        正向代理

        說反向代理之前,我們先看看正向代理,正向代理也是大家最常接觸到的代理模式,我們會從兩個方面來說關(guān)于正向代理的處理模式,分別從軟件方面和生活方面來解釋一下什么叫正向代理。


        在如今的網(wǎng)絡(luò)環(huán)境下,我們?nèi)绻捎诩夹g(shù)需要要去訪問國外的某些網(wǎng)站,此時你會發(fā)現(xiàn)位于國外的某網(wǎng)站我們通過瀏覽器是沒有辦法訪問的。


        此時大家可能都會用一個操作 FQ 進行訪問,F(xiàn)Q 的方式主要是找到一個可以訪問國外網(wǎng)站的代理服務(wù)器,我們將請求發(fā)送給代理服務(wù)器,代理服務(wù)器去訪問國外的網(wǎng)站,然后將訪問到的數(shù)據(jù)傳遞給我們!


        上述這樣的代理模式稱為正向代理,正向代理最大的特點是客戶端非常明確要訪問的服務(wù)器地址;服務(wù)器只清楚請求來自哪個代理服務(wù)器,而不清楚來自哪個具體的客戶端;正向代理模式屏蔽或者隱藏了真實客戶端信息。


        來看個示意圖(我把客戶端和正向代理框在一塊,同屬于一個環(huán)境,后面我有介紹):



        客戶端必須設(shè)置正向代理服務(wù)器,當(dāng)然前提是要知道正向代理服務(wù)器的 IP 地址,還有代理程序的端口。

        如下圖:


        總結(jié)來說:正向代理,"它代理的是客戶端",是一個位于客戶端和原始服務(wù)器(Origin Server之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(biāo)(原始服務(wù)器。


        然后代理向原始服務(wù)器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端??蛻舳吮仨氁M行一些特別的設(shè)置才能使用正向代理。

        正向代理的用途:


        • 訪問原來無法訪問的資源,如 Google。

        • 可以做緩存,加速訪問資源。

        • 對客戶端訪問授權(quán),上網(wǎng)進行認(rèn)證。

        • 代理可以記錄用戶訪問記錄(上網(wǎng)行為管理),對外隱藏用戶信息。


        反向代理


        明白了什么是正向代理,我們繼續(xù)看關(guān)于反向代理的處理方式,舉例如我國的某寶網(wǎng)站,每天同時連接到網(wǎng)站的訪問人數(shù)已經(jīng)爆表,單個服務(wù)器遠遠不能滿足人民日益增長的購買欲望了。


        此時就出現(xiàn)了一個大家耳熟能詳?shù)拿~:分布式部署;也就是通過部署多臺服務(wù)器來解決訪問人數(shù)限制的問題。


        某寶網(wǎng)站中大部分功能也是直接使用 Nginx 進行反向代理實現(xiàn)的,并且通過封裝 Nginx 和其他的組件之后起了個高大上的名字:Tengine。


        有興趣的童鞋可以訪問 Tengine 的官網(wǎng)查看具體的信息:


        http://tengine.taobao.org/



        那么反向代理具體是通過什么樣的方式實現(xiàn)的分布式的集群操作呢,我們先看一個示意圖(我把服務(wù)器和反向代理框在一塊,同屬于一個環(huán)境,后面我有介紹):


        通過上述的圖解大家就可以看清楚了,多個客戶端給服務(wù)器發(fā)送的請求,Nginx 服務(wù)器接收到之后,按照一定的規(guī)則分發(fā)給了后端的業(yè)務(wù)處理服務(wù)器進行處理了。


        此時請求的來源也就是客戶端是明確的,但是請求具體由哪臺服務(wù)器處理的并不明確了,Nginx 扮演的就是一個反向代理角色。


        客戶端是無感知代理的存在的,反向代理對外都是透明的,訪問者并不知道自己訪問的是一個代理。因為客戶端不需要任何配置就可以訪問。


        反向代理,"它代理的是服務(wù)端",主要用于服務(wù)器集群分布式部署的情況下,反向代理隱藏了服務(wù)器的信息。


        反向代理的作用:


        • 保證內(nèi)網(wǎng)的安全,通常將反向代理作為公網(wǎng)訪問地址,Web 服務(wù)器是內(nèi)網(wǎng)。

        • 負(fù)載均衡,通過反向代理服務(wù)器來優(yōu)化網(wǎng)站的負(fù)載。

        項目場景


        通常情況下,我們在實際項目操作時,正向代理和反向代理很有可能會存在同一個應(yīng)用場景中,正向代理代理客戶端的請求去訪問目標(biāo)服務(wù)器,目標(biāo)服務(wù)器是一個反向代理服務(wù)器,反向代理了多臺真實的業(yè)務(wù)處理服務(wù)器。


        具體的拓?fù)鋱D如下:

        截了一張圖來說明正向代理和反向代理二者之間的區(qū)別,如下圖:


        圖解:


        • 在正向代理中,Proxy 和 Client 同屬于一個 LAN(圖中方框內(nèi)),隱藏了客戶端信息。

        • 在反向代理中,Proxy 和 Server 同屬于一個 LAN(圖中方框內(nèi)),隱藏了服務(wù)端信息。


        實際上,Proxy 在兩種代理中做的事情都是替服務(wù)器代為收發(fā)請求和響應(yīng),不過從結(jié)構(gòu)上看正好左右互換了一下,所以把后出現(xiàn)的那種代理方式稱為反向代理了。

        負(fù)載均衡


        我們已經(jīng)明確了所謂代理服務(wù)器的概念,那么接下來,Nginx 扮演了反向代理服務(wù)器的角色,它是依據(jù)什么樣的規(guī)則進行請求分發(fā)的呢?不用的項目應(yīng)用場景,分發(fā)的規(guī)則是否可以控制呢?


        這里提到的客戶端發(fā)送的、Nginx 反向代理服務(wù)器接收到的請求數(shù)量,就是我們說的負(fù)載量。


        請求數(shù)量按照一定的規(guī)則進行分發(fā),到不同的服務(wù)器處理的規(guī)則,就是一種均衡規(guī)則。


        所以將服務(wù)器接收到的請求按照規(guī)則分發(fā)的過程,稱為負(fù)載均衡。


        負(fù)載均衡在實際項目操作過程中,有硬件負(fù)載均衡和軟件負(fù)載均衡兩種,硬件負(fù)載均衡也稱為硬負(fù)載,如 F5 負(fù)載均衡,相對造價昂貴成本較高。


        但是數(shù)據(jù)的穩(wěn)定性安全性等等有非常好的保障,如中國移動中國聯(lián)通這樣的公司才會選擇硬負(fù)載進行操作。


        更多的公司考慮到成本原因,會選擇使用軟件負(fù)載均衡,軟件負(fù)載均衡是利用現(xiàn)有的技術(shù)結(jié)合主機硬件實現(xiàn)的一種消息隊列分發(fā)機制。


        Nginx 支持的負(fù)載均衡調(diào)度算法方式如下:

        ①weight 輪詢(默認(rèn)接收到的請求按照順序逐一分配到不同的后端服務(wù)器,即使在使用過程中,某一臺后端服務(wù)器宕機,Nginx 會自動將該服務(wù)器剔除出隊列,請求受理情況不會受到任何影響。


        這種方式下,可以給不同的后端服務(wù)器設(shè)置一個權(quán)重值(weight,用于調(diào)整不同的服務(wù)器上請求的分配率。


        權(quán)重數(shù)據(jù)越大,被分配到請求的幾率越大;該權(quán)重值,主要是針對實際工作環(huán)境中不同的后端服務(wù)器硬件配置進行調(diào)整的。


        ②ip_hash:每個請求按照發(fā)起客戶端的 ip 的 hash 結(jié)果進行匹配,這樣的算法下一個固定 ip 地址的客戶端總會訪問到同一個后端服務(wù)器,這也在一定程度上解決了集群部署環(huán)境下 Session 共享的問題。


        ③fair:智能調(diào)整調(diào)度算法,動態(tài)的根據(jù)后端服務(wù)器的請求處理到響應(yīng)的時間進行均衡分配。


        響應(yīng)時間短處理效率高的服務(wù)器分配到請求的概率高,響應(yīng)時間長處理效率低的服務(wù)器分配到的請求少,它是結(jié)合了前兩者的優(yōu)點的一種調(diào)度算法。


        但是需要注意的是 Nginx 默認(rèn)不支持 fair 算法,如果要使用這種調(diào)度算法,請安裝 upstream_fair 模塊。


        ④url_hash:按照訪問的 URL 的 hash 結(jié)果分配請求,每個請求的 URL 會指向后端固定的某個服務(wù)器,可以在 Nginx 作為靜態(tài)服務(wù)器的情況下提高緩存效率。


        同樣要注意 Nginx 默認(rèn)不支持這種調(diào)度算法,要使用的話需要安裝 Nginx 的 hash 軟件包。


        Web 服務(wù)器對比


        幾種常用 Web 服務(wù)器對比如下圖:

        -END-


        PS:歡迎在留言區(qū)留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發(fā),歡迎轉(zhuǎn)發(fā)分享給更多人。

        Java后端編程交流群已成立

        公眾號運營至今,離不開小伙伴們的支持。為了給小伙伴們提供一個互相交流的平臺,特地開通了官方交流群。掃描下方二維碼備注 進群 或者關(guān)注公眾號 Java后端編程 后獲取進群通道。


        —————END—————

        推薦閱讀:


        最近面試BAT,整理一份面試資料Java面試BAT通關(guān)手冊,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
        獲取方式:關(guān)注公眾號并回復(fù) java 領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
        明天見(??ω??)??
        瀏覽 57
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            91高清视频| 99热在线观看免费精品| 日韩欧美123| 久久99精品久久久久久| 91麻豆精品| 欧洲三级片网站| 91成人电影院| 粉嫩小泬粉嫩小泬在线| 日操夜操| av无码观看| 久久h| 国产欧美精品在线观看| av一区在线| 一区二区三区在线观看免费| 亚洲无码观看视频| 国产对白在线| 欧美色视频在线观| 99精品亚洲| 99精品免费在线观看| 北条麻妃无码中文| 成人视频免费在线观看| 久久久婷婷五月亚洲国产精品 | 国产精品免费人成网站酒店| 99精品视频免费在线观看| 色噜噜狠狠一区二区三区牛牛影视| 色妞视频| 人人妻人人操人人| 中文字幕免费高清| v天堂在线观看| 欧美特级视频| 国产婷婷色一区二区三区| 国产综合久久| 在线观看黄片网站| 日本国产视频| 亚洲精品国产av| 中文字幕不卡| 国产看色免费| 九九精品热播| 欧美一二区| 亚洲高清无码免费在线观看| 艹逼片| 影音先锋av中文字幕| 在线观看亚洲视频| 午夜成人免费福利| 2014av天堂网| a在线免费| 欧美日韩A片欧美日| 久久九一| 国产无码在线看| 轻轻操内射无码| aV一区二区三区| 亚洲精品成AV人片天堂无码| 亚洲免费无码视频| 日逼无码视频| 污片网站| 91久久爽久久爽爽久久片| 黑人粗大无码| 老熟女导航| 亚洲天堂免费视频| 亚洲无码免费在线视频| 成人精品电影| 国内精品国产成人国产三级| 18禁无码网站| 亚洲区欧美区| 成人无码在线观看免费视频| 亚洲精品久久久久久久蜜桃 | 一本道中文字幕| se婷婷| 一级a免一级a做免费线看内祥| 欧美熟妇精品黑人巨大一二三区| 国产三级在线播放| 亚洲va欧美va| 99热在线观看免费| 日韩无码第一页| 国产成人无码精品一区秘二区| 69婷婷国产精品| 一区在线视频| 黄色日逼网站| 波多野结衣无码AV在线| 午夜AV免费| 强开小嫩苞一区二区三区网站| 五月天狠狠干| 搞搞网日本9| 国产骚女| 伊人黄色| 欧美性生交18XXXXX无码| 少妇嫩搡BBBB搡BBBB| 99久久国产视频| 激情小说五月天| 中出欧美亚洲| 少妇厨房愉情理伦BD在线观看 | 日韩精品久久久| 亚洲中文字幕在线播放| 天天天天操| 九九在线视频| 黄色视频在线观看地址| 操逼网站大全| 久久依人大香蕉| 黄色视频网站在线观看免费| 欧美日韩中字| 青娱乐在线视频精品| 91精品人妻一区二区| 日本一区二区视频在线| 在线黄色网| AV资源在线免费观看| 波多野成人无码精品69| 亚洲天堂在线免费观看视频| 人妻少妇一区二区三区| 五月丁香亚洲综合| 中文二区| 在线看毛片网站| 91av视频在线| 在线看的av| 在线免费看毛片| 波多野结衣无码AV专区| 国产午夜在线| 日逼高清无码| 色老汉视频| 北条麻妃91视频| 8050网午夜| 蜜桃亚洲AV无码一区二区三区| 又紧又嫩又爽无遮挡免费| 波多野结衣Av在线| 欧美激情亚洲| 成人一级黄色电影| 臭小子啊轻点灬太粗太长了的视频| 久久三级片电影| 91在线无码精品秘蜜桃入口 | 国产l精品久久久久久久久久| 日韩激情| 激情五月俺也去| 内射网站| 欧洲成人午夜精品无码区久久| jizz亚洲| 中文子幕免费毛片| 中文字幕首页| 在线观看99| 蜜臀网在线观看| 中文视频在线观看| 竹菊传媒一区二区三区| 日韩欧美一区二区三区| 亚洲成人视频免费在线观看 | 91久久婷婷| 欧美69影院| 强伦人妻一区二区三区| 婷婷性爱五月天| 色哟哟一区二区三区四区| 亚洲一区二区av| 青青青亚州视频在线| 神马Aⅴ| 五月丁香免费视频| 熟女伦乱| 免费黄色成人网站| 国产无套内射视频| AV电影天堂网| www.水蜜桃| 18禁污网站| 麻豆AV电影| 欧美视频免费在线观看| 亚洲成人资源| 日韩强操逼网| 91香蕉国产在线观看软件| 亚洲在线观看免费| 中文字幕的| 伊人性爱网| 免费看片av| 亚洲午夜AV久久乱码| 婷婷五月天色色| 特黄一级A片| 亚洲天堂久久| 亚洲成人色色| 91麻豆国产福利在线观看| 尤物视频在线播放| 国产精品93333333| 51伦理| 丹麦电影《下午》| 2018最好看的中文字幕高清电影| а√天堂中文官网8| 青春草视频在线观看| 久久精品www人人爽人人| 色老板综合| 日韩人妻无码一区二区三区七区| 亚洲色偷精品一区二区三区| 日韩在线大香蕉| 五月丁香婷婷综合| 亚洲国产精品成人久久蜜臀| 无码一区二区黑人猛烈视频网站| 泄火熟妇2-ThePorn| 国产18毛片18水多精品| 日韩在线视频二区| 国产精品毛片| 婷婷久久久久| 亚洲精品免费在线观看| 国产婬片一级A片AAA毛片AⅤ| 国产精品一区二区在线| 人人妻人人插| 欧美特级黄| 親子亂子倫XXXX| 一区二区毛片| 无套免费视频欧美| 国产卡一卡二在线| 男人的天堂av网站| 神马午夜福利视频| 黄色成人网站在线播放| 国产人人爱| 婷婷五月天免费视频| 亚洲午夜福利| 色婷婷国产| 日本欧美一级| 亚洲中文偷拍| 国产精品久久久久久最猛| 俺去俺来也在线www色官网| 五月天狠狠干| 无码无卡| 日本色天堂| 日韩大吊| 亚洲一区| 少妇搡BBBB搡BBB搡澳门| 伊人国产女| 国产美女在线播放| 亚洲区在线播放| 国产成人a亚洲精品www| 精品国产99久久久久久www| 中文字幕一区二区6页| 色色婷婷五月| 五月丁香视频在线观看| 日本一级婬片A片免费播放一| 亚洲无码久久久| 蜜芽av在线| 国产主播在线播放| 西西特级WWW444无码| 国产小视频在线免费观看| 国产精品精品| 中韩一区二区| 亚洲欧美日韩在线| 国产粉嫩| 国产丝袜视频| 黄片免费视频观看| 91精片| 狼人色综合| 伊人五月丁香| 一级无码A片| 懂色av懂色av粉嫩av分享吧| 三级片自拍| 大鸡吧在线观看| 国产激情| 大香蕉伊人在线网| 婷婷五月欧美| 草久免费视频| 免费无码网站| 操逼超碰| 欧美AAAAAAAA| 国产午夜三级| 一区二区中文字幕| 免费AV网站观看| 麻豆传媒猫爪| 国产三级在线观看| 最好看的2019中文在线大全电影| 无码在线电影| 北条麻妃精品| 操一区| 好男人WWW一区二区三区| 一级a免一级a做免费线看内裤的注意事项 | 台湾无码片| 狠狠干2025| 中文字幕免费无码| 影音先锋三级资源| 天天草天天爽| 久久久久久亚洲AV黄床| 干妞网免费视频| 亚洲人成高清| 一级A片久久久免费直播间| 熟女啪啪| 日本在线www| 欧美精品无码一区二区| www.日韩系列| 高清的日逼| 就去色色五月天| 亚洲AV无码日韩AV无码导航| 久久精品免费看| 日韩中文字幕一区二区三区| 国产欧美激情| 亚洲免费观看高清视频| 久久无码成人| 亚洲高清视频一区| 国产精成人品| 一级电影网站| 操b视频网站| 高潮喷水在线观看| 中文字幕一区二区三区四区| 欧美三P囗交做爰| 亚洲人人操| 99在线精品视频| 亚洲视频在线免费观看| 青误乐在线播放| 国产精品剧情| 黄色大片中国一级片-免费看特一级片-亚洲黄色AV | 成人福利网站| 欧美操逼图片| 大香蕉伊人视频|