Nginx應(yīng)該是現(xiàn)在最火的web和反向代理服務(wù)器苍息,沒有之一缩幸。她是一款誕生于俄羅斯的高性能web服務(wù)器壹置,尤其在高并發(fā)情況下,相較Apache表谊,有優(yōu)異的表現(xiàn)钞护。那除了負(fù)載均衡,她還有什么其他的用途呢爆办,下面我們來看下难咕。
一余佃、靜態(tài)代理
Nginx擅長(zhǎng)處理靜態(tài)文件,是非常好的圖片跨算、文件服務(wù)器爆土。把所有的靜態(tài)資源的放到nginx上,可以使應(yīng)用動(dòng)靜分離诸蚕,性能更好步势。
二、負(fù)載均衡
Nginx通過反向代理可以實(shí)現(xiàn)服務(wù)的負(fù)載均衡背犯,避免了服務(wù)器單節(jié)點(diǎn)故障坏瘩,把請(qǐng)求按照一定的策略轉(zhuǎn)發(fā)到不同的服務(wù)器上,達(dá)到負(fù)載的效果漠魏。常用的負(fù)載均衡策略有
1蛉幸、輪詢
將請(qǐng)求按順序輪流地分配到后端服務(wù)器上破讨,它均衡地對(duì)待后端的每一臺(tái)服務(wù)器,而不關(guān)心服務(wù)器實(shí)際的連接數(shù)和當(dāng)前的系統(tǒng)負(fù)載奕纫。
2、加權(quán)輪詢
不同的后端服務(wù)器可能機(jī)器的配置和當(dāng)前系統(tǒng)的負(fù)載并不相同烫沙,因此它們的抗壓能力也不相同匹层。給配置高、負(fù)載低的機(jī)器配置更高的權(quán)重锌蓄,讓其處理更多的請(qǐng)升筏;而配置低、負(fù)載高的機(jī)器瘸爽,給其分配較低的權(quán)重您访,降低其系統(tǒng)負(fù)載,加權(quán)輪詢能很好地處理這一問題剪决,并將請(qǐng)求順序且按照權(quán)重分配到后端灵汪。
3檀训、ip_hash(源地址哈希法)
根據(jù)獲取客戶端的IP地址,通過哈希函數(shù)計(jì)算得到一個(gè)數(shù)值享言,用該數(shù)值對(duì)服務(wù)器列表的大小進(jìn)行取模運(yùn)算峻凫,得到的結(jié)果便是客戶端要訪問服務(wù)器的序號(hào)。采用源地址哈希法進(jìn)行負(fù)載均衡览露,同一IP地址的客戶端荧琼,當(dāng)后端服務(wù)器列表不變時(shí),它每次都會(huì)映射到同一臺(tái)后端服務(wù)器進(jìn)行訪問差牛。
4命锄、隨機(jī)
通過系統(tǒng)的隨機(jī)算法,根據(jù)后端服務(wù)器的列表大小值來隨機(jī)選取其中的一臺(tái)服務(wù)器進(jìn)行訪問偏化。
5累舷、least_conn(最小連接數(shù)法)
由于后端服務(wù)器的配置不盡相同,對(duì)于請(qǐng)求的處理有快有慢夹孔,最小連接數(shù)法根據(jù)后端服務(wù)器當(dāng)前的連接情況被盈,動(dòng)態(tài)地選取其中當(dāng)前積壓連接數(shù)最少的一臺(tái)服務(wù)器來處理當(dāng)前的請(qǐng)求,盡可能地提高后端服務(wù)的利用效率搭伤,將負(fù)責(zé)合理地分流到每一臺(tái)服務(wù)器只怎。
三、限流
Nginx的限流模塊怜俐,是基于漏桶算法實(shí)現(xiàn)的身堡,在高并發(fā)的場(chǎng)景下非常實(shí)用。
1、配置參數(shù)
1)limit_req_zone定義在http塊中季稳,$binary_remote_addr 表示保存客戶端IP地址的二進(jìn)制形式擅这。
2)Zone定義IP狀態(tài)及URL訪問頻率的共享內(nèi)存區(qū)域。zone=keyword標(biāo)識(shí)區(qū)域的名字景鼠,以及冒號(hào)后面跟區(qū)域大小仲翎。16000個(gè)IP地址的狀態(tài)信息約1MB,所以示例中區(qū)域可以存儲(chǔ)160000個(gè)IP地址铛漓。
3)Rate定義最大請(qǐng)求速率溯香。示例中速率不能超過每秒100個(gè)請(qǐng)求。
2浓恶、設(shè)置限流
burst排隊(duì)大小玫坛,nodelay不限制單個(gè)請(qǐng)求間的時(shí)間。
四包晰、緩存
1湿镀、瀏覽器緩存炕吸,靜態(tài)資源緩存用expire。
2、代理層緩存
五、黑白名單
1莉钙、不限流白名單
2磁玉、黑名單
好了蚊伞,上面就是nginx幾個(gè)常用功能席赂,靜態(tài)分離、負(fù)載均衡时迫、限流颅停、緩存、黑白名單等掠拳,你都了解了嗎癞揉?
總結(jié):
Nginx 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)溺欧。
其將源代碼以類BSD許可證的形式發(fā)布喊熟,因它的穩(wěn)定性、豐富的功能集姐刁、示例配置文件和低系統(tǒng)資源的消耗而聞名芥牌。
Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行龙填。其特點(diǎn)是占有內(nèi)存少胳泉,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好岩遗,互聯(lián)網(wǎng)企業(yè)使用nginx網(wǎng)站用戶有:百度、京東凤瘦、新浪宿礁、網(wǎng)易、騰訊蔬芥、淘寶等等梆靖。
由于平臺(tái)文章篇幅限制控汉,細(xì)節(jié)內(nèi)容過多,所以只把部分知識(shí)點(diǎn)截圖出來粗略的介紹返吻,每個(gè)小節(jié)點(diǎn)里面都有更細(xì)化的內(nèi)容姑子!,需要獲取Nginx實(shí)戰(zhàn)核心知識(shí)點(diǎn)的pdf文檔加QQ群:219571750**测僵,免費(fèi)領(lǐng)取
一街佑、Nginx基本介紹以及服務(wù)安裝與配置
二沐旨、Nginx基本配置、安裝榨婆、優(yōu)化
三、Nginx模型開發(fā)
四、Nginx核心模塊
五鬼贱、Nginx的標(biāo)準(zhǔn)HTTP模塊
由于平臺(tái)文章篇幅限制葡秒,細(xì)節(jié)內(nèi)容過多姻乓,所以只把部分知識(shí)點(diǎn)截圖出來粗略的介紹,每個(gè)小節(jié)點(diǎn)里面都有更細(xì)化的內(nèi)容眯牧!蹋岩,需要獲取Nginx實(shí)戰(zhàn)核心知識(shí)點(diǎn)的pdf文檔加QQ群:219571750獲取資料領(lǐng)取方式吧!学少!
總目錄
細(xì)分段落
這里就不一一列舉了
需要獲取Nginx實(shí)戰(zhàn)核心知識(shí)點(diǎn)的pdf文檔加QQ群:219571750獲取資料領(lǐng)取方式吧7爻濉!