Nginx初探

[TOC]

Nginx初探

常見服務(wù)器介紹

  • Apache服務(wù)器
    開源項目
    優(yōu)點:在各種開源的WWW服務(wù)提供工具中特性最全魄幕,運行速度最快色乾,性能相對穩(wěn)定提岔,擴展功能豐富
    缺點:使用進程為基礎(chǔ)的結(jié)構(gòu)宰僧。在對一個Apache Web站點擴容時,通常是增加服務(wù)器或擴充群集節(jié)點而不是增加處理器
  • Microsoft IIS
    微軟公司的Web服務(wù)器產(chǎn)品您市,同Windows Server一起發(fā)行觉痛。包含Gopher Server、FTP Server茵休,并且可用于HTTP Server薪棒、FTP Server、NNTP Server榕莺、SMTP Server
    優(yōu)點:和Windows Server相結(jié)合俐芯,使網(wǎng)絡(luò)應(yīng)用服務(wù)器的管理、可用性帽撑、可靠性泼各、安全性、性能和可擴展性大大增強
    缺點:付費軟件亏拉,部署成本高
  • Tomcat服務(wù)器
    開源項目扣蜻,通常作為Apache的擴展部分,為運行JSP頁面和Servlet提供服務(wù)及塘,獨立的Servlet容器是Tomcat的默認模式莽使。它處理靜態(tài)HTML的能力不如Apache服務(wù)器。在中小系統(tǒng)和并發(fā)訪問用戶不是很多的場合下使用笙僚,是開發(fā)和調(diào)試JSP程序的首選芳肌。
    優(yōu)點:開源,體積小肋层,安裝部署方便亿笤,系統(tǒng)資源占用率低,是主要的Servlet和JSP容器
    缺點:輕量級服務(wù)器栋猖,無法滿足復(fù)雜業(yè)務(wù)場景净薛,也沒有負責和豐富的功能
  • Lighttpd服務(wù)器
    來自德國的開源輕量級服務(wù)器
    優(yōu)點:專門針對高性能網(wǎng)站,提供了一套安全蒲拉、快速肃拜、兼容性良好并且靈活的Web Server環(huán)境痴腌。同時,它具有非常低的內(nèi)存開銷燃领、CPU占用率及模塊豐富等特點士聪,支持FastCGI、Output Compress猛蔽、URL重寫等絕大多數(shù)Apache具有的重要功能剥悟,是Apache的絕好替代者
    缺點:Proxy功能支持不完善、對編碼支持不完善等

Nginx的功能特性

Nginx服務(wù)器以其功能豐富著稱于世枢舶。既可以作為HTTP服務(wù)器懦胞,也可以作為反向代理服務(wù)器或者郵件服務(wù)器替久;能夠快速響應(yīng)靜態(tài)頁面的請求凉泄;支持FastCGO、SSL蚯根、Virtual Host后众、URL Rewrite、HTTP Basic Auth颅拦、Gzip等大量使用功能蒂誉;并且支持第三方功能模塊的擴展
Nginx提供的服務(wù):

  1. 基本服務(wù):可以作為HTTP代理服務(wù)器和反向代理服務(wù)器,支持通過緩存加速訪問距帅,可以完成簡單的負載均衡和容錯右锨,支持包過濾功能,支持SSL等
  2. 高級服務(wù):可以進行自定義配置碌秸,支持虛擬主機绍移,支持URL重定向,支持網(wǎng)絡(luò)監(jiān)控讥电,支持流媒體傳輸?shù)?/li>
  3. 郵件代理服務(wù):支持IMAP/POP3代理服務(wù)功能蹂窖,支持內(nèi)部SMTP代理服務(wù)功能

特點:高穩(wěn)定、高性能恩敌、資源占用少瞬测、功能豐富、模塊化結(jié)構(gòu)纠炮、支持熱部署

常用功能介紹

  • 正向代理:
    正向代理 是一個位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器月趟,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(原始服務(wù)器)恢口,然后代理向原始服務(wù)器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端孝宗。客戶端必須要進行一些特別的設(shè)置才能使用正向代理弧蝇。
    正向代理的用途:
    1. 訪問原來無法訪問的資源碳褒,如google
    2. 可以做緩存折砸,加速訪問資源
    3. 對客戶端訪問授權(quán),上網(wǎng)進行認證
    4. 代理可以記錄用戶訪問記錄(上網(wǎng)行為管理)沙峻,對外隱藏用戶信息
  • 反向代理
    反向代理(Reverse Proxy)實際運行方式是指以代理服務(wù)器來接受internet上的連接請求睦授,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端摔寨,此時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器去枷。
    方向代理的用途:
    1. 保證內(nèi)網(wǎng)的安全,可以使用反向代理提供WAF功能是复,阻止web攻擊


      image
    2. 保證內(nèi)網(wǎng)的安全删顶,可以使用反向代理提供WAF功能,阻止web攻擊


      image

HTTP代理和反向代理

Nginx服務(wù)器轉(zhuǎn)為前端請求性能穩(wěn)定淑廊,并且后端轉(zhuǎn)發(fā)與業(yè)務(wù)配置相互分離逗余,配置相當靈活。它支持判斷表達式季惩,通過正則表達式進行相關(guān)配置录粱,可以實現(xiàn)根據(jù)不同的表達時尚,采取不同的轉(zhuǎn)發(fā)策略画拾。其次啥繁,它對后端返回情況進行了異常判斷,如果返回結(jié)果不正常青抛,則請求另一臺主機旗闽,并且剔除返回異常的主機。還支持錯誤頁面跳轉(zhuǎn)功能

負載均衡

負載均衡蜜另,包括兩個方面的含義:

  1. 將單一的重負載分擔到多個網(wǎng)絡(luò)節(jié)點上做并行處理适室,每個節(jié)點處理結(jié)束后將結(jié)果匯總返回給用戶,這樣可以大幅度提高網(wǎng)絡(luò)系統(tǒng)的處理能力
  2. 將大量的前端并發(fā)訪問或數(shù)據(jù)流量分擔到多個后端網(wǎng)絡(luò)節(jié)點上分別處理蚕钦,這樣可以有效減少前端用戶等待響應(yīng)的時間亭病。Web服務(wù)器、FTP服務(wù)器嘶居、企業(yè)關(guān)鍵應(yīng)用服務(wù)器等網(wǎng)絡(luò)應(yīng)用方面談到的負載均衡問題罪帖,基本屬于此含義。

Nginx服務(wù)器的負載均衡主要是對大量前端訪問和流量進行分流邮屁,以保證前端用戶的訪問效率

Nginx服務(wù)器的負載均衡策略分為兩大類:
內(nèi)置策略(被編入Nginx內(nèi)核整袁,只需在Nginx服務(wù)器配置中設(shè)置參數(shù)即可):

  • 輪詢策略:將每個前端請求按順序(時間順序或者排列順序)逐一分配到不同的后端節(jié)點上,對于出現(xiàn)問題的后端節(jié)點自動排除
  • 加權(quán)輪訓(xùn):在基本的輪訓(xùn)策略上考慮后端節(jié)點接受請求的權(quán)重佑吝,指定各個后端節(jié)點被輪詢到的幾率坐昙。主要用于后端節(jié)點性能不均的情況
  • IP hash:將前端的訪問IP進行hash操作,然后根據(jù)hash結(jié)果將請求分配給不同的后端節(jié)點芋忿≌停可看作一種特殊的輪詢策略疾棵。通過Nginx的實現(xiàn),每個前端訪問IP會固定訪問一個后端節(jié)點痹仙。這樣做的好處是避免前端用戶的session在后端多個節(jié)點上的共享的問題

擴展策略(不會編入Nginx內(nèi)核是尔,需要手動將第三方內(nèi)核編譯到Nginx內(nèi)核中)

  • url hash:形式上和IP hash相近,不同點在于IP hash對前端訪問IP進行了hash操作开仰,而url hash策略是對前端請求的url進行了hash操作拟枚。url hash策略的優(yōu)點在于,如果后端有緩存服務(wù)器众弓,它能夠提高緩存效率恩溅,同時也解決了session的問題。缺點是如果后端節(jié)點出現(xiàn)異常谓娃,它不能自動排除該節(jié)點脚乡。后端節(jié)點出現(xiàn)異常會導(dǎo)致Nginx服務(wù)器返回503錯誤
  • fair:Nginx通過后端節(jié)點對請求的響應(yīng)時間判斷負載情況,該模塊將前端請求轉(zhuǎn)發(fā)到一個最近負擔最小的后臺節(jié)點傻粘。

Web緩存

Nginx服務(wù)器的Web緩存服務(wù)主要由Proxy Cache相關(guān)指令集和FastCGI_Cache相關(guān)指令集構(gòu)成每窖。Proxy Cache主要用于在Nginx服務(wù)器提供反向代理服務(wù)時帮掉,對后端服務(wù)器的返回內(nèi)容進行URL緩存弦悉;FastCGI_Cache主要用于對FastCGI的動態(tài)程序進行緩存。
第三方ngx_cache_purge也經(jīng)常用到蟆炊,主要用于清除Nginx服務(wù)器上指定URL緩存

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稽莉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子涩搓,更是在濱河造成了極大的恐慌污秆,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昧甘,死亡現(xiàn)場離奇詭異良拼,居然都是意外死亡,警方通過查閱死者的電腦和手機充边,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門庸推,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浇冰,你說我怎么就攤上這事贬媒。” “怎么了肘习?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵际乘,是天一觀的道長。 經(jīng)常有香客問我漂佩,道長脖含,這世上最難降的妖魔是什么罪塔? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮养葵,結(jié)果婚禮上垢袱,老公的妹妹穿的比我還像新娘。我一直安慰自己港柜,他們只是感情好请契,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著夏醉,像睡著了一般爽锥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上畔柔,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天氯夷,我揣著相機與錄音,去河邊找鬼靶擦。 笑死腮考,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的玄捕。 我是一名探鬼主播踩蔚,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼枚粘!你這毒婦竟也來了馅闽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤馍迄,失蹤者是張志新(化名)和其女友劉穎福也,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攀圈,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡暴凑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赘来。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片现喳。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖撕捍,靈堂內(nèi)的尸體忽然破棺而出拿穴,到底是詐尸還是另有隱情,我是刑警寧澤忧风,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布默色,位于F島的核電站,受9級特大地震影響狮腿,放射性物質(zhì)發(fā)生泄漏腿宰。R本人自食惡果不足惜呕诉,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吃度。 院中可真熱鬧甩挫,春花似錦、人聲如沸椿每。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽间护。三九已至亦渗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間汁尺,已是汗流浹背法精。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留痴突,地道東北人搂蜓。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像辽装,于是被迫代替她去往敵國和親帮碰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345