Nginx("engine x")是一款是由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開發(fā)高性能的Web和反向代理服務(wù)器,也是一個 IMAP/POP3/SMTP 代理服務(wù)器。
在高連接并發(fā)的情況下,Nginx是Apache服務(wù)器不錯的替代品。
負(fù)載均衡:負(fù)載均衡也是 Nginx常用的一個功能,當(dāng)一臺服務(wù)器的單位時間內(nèi)的訪問量越大時,服務(wù)器壓力就越大,大到超過自身承受能力時,服務(wù)器就會崩潰。為了避免服務(wù)器崩潰,讓用戶有更好的體驗(yàn),我們通過負(fù)載均衡的方式來分擔(dān)服務(wù)器壓力。 (推薦學(xué)習(xí):nginx教程)
我們可以建立很多很多服務(wù)器,組成一個服務(wù)器集群,當(dāng)用戶訪問網(wǎng)站時,先訪問一個中間服務(wù)器,在讓這個中間服務(wù)器在服務(wù)器集群中選擇一個壓力較小的服務(wù)器,然后將該訪問請求引入該服務(wù)器。
如此以來,用戶的每次訪問,都會保證服務(wù)器集群中的每個服務(wù)器壓力趨于平衡,分擔(dān)了服務(wù)器壓力,避免了服務(wù)器崩潰的情況。負(fù)載均衡配置一般都需要同時配置反向代理,通過反向代理跳轉(zhuǎn)到負(fù)載均衡。
nginx提供了以下三種負(fù)載均衡機(jī)制、方法:
round-robin — 請求以循環(huán)、輪轉(zhuǎn)的方式分發(fā)到應(yīng)用服務(wù)器。
least-connected — 下一個請求被分配到擁有最少活動連接數(shù)的服務(wù)器
ip-hash — 使用一個哈希函數(shù),基于客戶端ip地址判斷下一個請求應(yīng)該被分發(fā)到哪個服務(wù)器。
默認(rèn)的負(fù)載均衡配置
http { upstream myapp1 { server srv1.example.com; server srv2.example.com; server srv3.example.com; } server { listen 80; location / { proxy_pass http://myapp1; } } }