Http代理项贺,反向代理:
作為web服務(wù)器最常用的功能之一,尤其是反向代理。
這里我給來(lái)2張圖开缎,對(duì)正向代理與反向代理做個(gè)詮釋棕叫,具體細(xì)節(jié),大家可以翻閱下資料啥箭。
Nginx在做反向代理時(shí)谍珊,提供性能穩(wěn)定,并且能夠提供配置靈活的轉(zhuǎn)發(fā)功能急侥。Nginx可以根據(jù)不同的正則匹配砌滞,采取不同的轉(zhuǎn)發(fā)策略,比如圖片文件結(jié)尾的走文件服務(wù)器坏怪,動(dòng)態(tài)頁(yè)面走web服務(wù)器贝润,只要你正則寫的沒(méi)問(wèn)題,又有相對(duì)應(yīng)的服務(wù)器解決方案铝宵,你就可以隨心所欲的玩打掘。并且Nginx對(duì)返回結(jié)果進(jìn)行錯(cuò)誤頁(yè)跳轉(zhuǎn),異常判斷等鹏秋。如果被分發(fā)的服務(wù)器存在異常尊蚁,他可以將請(qǐng)求重新轉(zhuǎn)發(fā)給另外一臺(tái)服務(wù)器,然后自動(dòng)去除異常服務(wù)器侣夷。
負(fù)載均衡:
Nginx提供的負(fù)載均衡策略有2種:內(nèi)置策略和擴(kuò)展策略横朋。內(nèi)置策略為輪詢,加權(quán)輪詢百拓,Ip hash琴锭。擴(kuò)展策略,就天馬行空衙传,只有你想不到的沒(méi)有他做不到的啦决帖,你可以參照所有的負(fù)載均衡算法,給他一一找出來(lái)做下實(shí)現(xiàn)蓖捶。
上3個(gè)圖地回,理解這三種負(fù)載均衡算法的實(shí)現(xiàn)
Ip hash算法,對(duì)客戶端請(qǐng)求的ip進(jìn)行hash操作俊鱼,然后根據(jù)hash結(jié)果將同一個(gè)客戶端ip的請(qǐng)求分發(fā)給同一臺(tái)服務(wù)器進(jìn)行處理刻像,可以解決session不共享的問(wèn)題。
web緩存
Nginx可以對(duì)不同的文件做不同的緩存處理亭引,配置靈活绎速,并且支持FastCGI_Cache皮获,主要用于對(duì)FastCGI的動(dòng)態(tài)程序進(jìn)行緩存焙蚓。配合著第三方的ngx_cache_purge,對(duì)制定的URL緩存內(nèi)容可以的進(jìn)行增刪管理。
Web服務(wù)
Nginx作為Web服務(wù)器的主要應(yīng)用場(chǎng)景包括:
使用Nginx運(yùn)行HTML购公、JS萌京、CSS、小圖片等靜態(tài)數(shù)據(jù)宏浩;
Nginx結(jié)合FastCGI運(yùn)行PHP等動(dòng)態(tài)程序(如fastcgi_pass)知残;
Nginx結(jié)合Tomcat/Resin等支持Java動(dòng)態(tài)程序(如proxy_pass);
Nginx相關(guān)地址
源碼:https://trac.nginx.org/nginx/browser
官網(wǎng):http://www.nginx.org/