Nginx常用功能介紹

Nginx常用功能
1、Http代理,反向代理:作為web服務(wù)器最常用的功能之一,尤其是反向代理。
正向代理和反向代理
正向代理的概念
正向代理,也就是傳說(shuō)中的代理,他的工作原理就像一個(gè)跳板,簡(jiǎn)單的說(shuō),我是一個(gè)用戶(hù),我訪問(wèn)不了某網(wǎng)站,但是我能訪問(wèn)一個(gè)代理服務(wù)器這個(gè)代理服務(wù)器呢,他能訪問(wèn)那個(gè)我不能訪問(wèn)的網(wǎng)站于是我先連上代理服務(wù)器,告訴他我需要那個(gè)無(wú)法訪問(wèn)網(wǎng)站的內(nèi)容代理服務(wù)器去取回來(lái),然后返回給我
從網(wǎng)站的角度,只在代理服務(wù)器來(lái)取內(nèi)容的時(shí)候有一次記錄有時(shí)候并不知道是用戶(hù)的請(qǐng)求,也隱藏了用戶(hù)的資料,這取決于代理告不告訴網(wǎng)站
結(jié)論就是 正向代理 是一個(gè)位于客戶(hù)端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶(hù)端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶(hù)端??蛻?hù)端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。
反向代理的概念
繼續(xù)舉例:例用戶(hù)訪問(wèn) http://ooxx.me/readmeooxx.me上并不存在readme頁(yè)面他是偷偷從另外一臺(tái)服務(wù)器上取回來(lái),然后作為自己的內(nèi)容吐給用戶(hù)
但用戶(hù)并不知情這很正常,用戶(hù)一般都很笨
這里所提到的 ooxx.me 這個(gè)域名對(duì)應(yīng)的服務(wù)器就設(shè)置了反向代理功能
結(jié)論就是 反向代理正好相反,對(duì)于客戶(hù)端而言它就像是原始服務(wù)器,并且客戶(hù)端不需要進(jìn)行任何特別的設(shè)置??蛻?hù)端向反向代理 的命名空間(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶(hù)端,就像這些內(nèi)容 原本就是它自己的一樣。
兩者區(qū)別
用途 上來(lái)講:
正向代理的典型用途是為在防火墻內(nèi)的局域網(wǎng)客戶(hù)端提供訪問(wèn)Internet的途徑。正向代理還可以使用緩沖特性減少網(wǎng)絡(luò)使用率。反向代理的典型用途是將 防火墻后面的服務(wù)器提供給Internet用戶(hù)訪問(wèn)。反向代理還可以為后端的多臺(tái)服務(wù)器提供負(fù)載平衡,或?yàn)楹蠖溯^慢的服務(wù)器提供緩沖服務(wù)。
另外,反向代理還可以啟用高級(jí)URL策略和管理技術(shù),從而使處于不同web服務(wù)器系統(tǒng)的web頁(yè)面同時(shí)存在于同一個(gè)URL空間下。
安全性 來(lái)講:
正向代理允許客戶(hù)端通過(guò)它訪問(wèn)任意網(wǎng)站并且隱藏客戶(hù)端自身,因此你必須采取安全措施以確保僅為經(jīng)過(guò)授權(quán)的客戶(hù)端提供服務(wù)。
反向代理對(duì)外都是透明的,訪問(wèn)者并不知道自己訪問(wèn)的是一個(gè)代理。
2、負(fù)載均衡
Nginx提供的負(fù)載均衡策略有2種:內(nèi)置策略和擴(kuò)展策略。內(nèi)置策略為輪詢(xún),加權(quán)輪詢(xún),Ip hash。擴(kuò)展策略,就天馬行空,只有你想不到的沒(méi)有他做不到的啦,你可以參照所有的負(fù)載均衡算法,給他一一找出來(lái)做下實(shí)現(xiàn)。
上3個(gè)圖,理解這三種負(fù)載均衡算法的實(shí)現(xiàn)

398358-20160202133753382-1863657242.jpg

Ip hash算法,對(duì)客戶(hù)端請(qǐng)求的ip進(jìn)行hash操作,然后根據(jù)hash結(jié)果將同一個(gè)客戶(hù)端ip的請(qǐng)求分發(fā)給同一臺(tái)服務(wù)器進(jìn)行處理,可以解決session不共享的問(wèn)題。

398358-20160201162405944-676557632.jpg

3、web緩存
Nginx可以對(duì)不同的文件做不同的緩存處理,配置靈活,并且支持FastCGI_Cache,主要用于對(duì)FastCGI的動(dòng)態(tài)程序進(jìn)行緩存。配合著第三方的ngx_cache_purge,對(duì)制定的URL緩存內(nèi)容可以的進(jìn)行增刪管理。
4、Nginx相關(guān)地址
源碼:https://trac.nginx.org/nginx/browser
官網(wǎng):http://www.nginx.org/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容