簡述
本文主要介紹Nginx負載均衡之upstream、server、location參數(shù)配置。
Nginx
Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設(shè)計開發(fā)的。從2004年發(fā)布至今,憑借開源的力量,已經(jīng)接近成熟與完善。
Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模塊擴展。
常用功能
反向代理,代理對象為服務(wù)端做代理,使客戶端不需要感知服務(wù)端的存在,只需要訪問代理服務(wù)器便可獲得想要的結(jié)果。實現(xiàn)限流、負載均衡、動靜分離等。
負載均衡(Load Balance),是分布式系統(tǒng)中一個非常重要的概念。當(dāng)訪問的服務(wù)具有多個實例節(jié)點時,需要根據(jù)某種“均衡”的策略決定請求發(fā)往哪個節(jié)點,這個過程就是所謂的負載均衡。多在高并發(fā)情況下需要使用。其原理就是將數(shù)據(jù)流量分攤到多個服務(wù)器執(zhí)行,減輕每臺服務(wù)器的壓力,多臺服務(wù)器(集群)共同完成工作任務(wù),從而提高了數(shù)據(jù)的吞吐量。Nginx是一個輕量級、高性能、穩(wěn)定性高、并發(fā)性好的HTTP和反向代理服務(wù)器。
web緩存
Nginx可以對不同的文件做不同的緩存處理,配置靈活,并且支持FastCGI_Cache,主要用于對FastCGI的動態(tài)程序進行緩存。配合著第三方的ngx_cache_purge,對制定的URL緩存內(nèi)容可以的進行增刪管理
配置示例
圖 1 配置示例
參數(shù)說明
圖 2 參數(shù)說明
upstream
upstream模塊主要負責(zé)負載均衡的配置,通過默認的輪詢調(diào)度方式來分發(fā)請求到后端服務(wù)器。
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com fail_timeout=5s slow_start=30s;
server backend3.example.com resolve;
server backend4.example.com service=http resolve;
server backup1.example.com backup;
server backup2.example.com backup;
}
server
server模塊配置是http模塊中的一個子模塊,用來定義一個虛擬訪問主機。
server {
listen 80;
server_name localhost nginx_ip;
root /nginx/www;
index index.php index.html index.html;
charset utf-8;
access_log logs/access.log;
error_log logs/error.log;
}
location
location模塊配置在路由訪問信息配置中關(guān)聯(lián)到反向代理、負載均衡等等各項功能。
語法規(guī)則: location [=|~|~*|^~] /uri/ { … }
多個location優(yōu)先級:首先匹配 =,其次匹配^~, 其次是按文件中順序的正則匹配,最后是交給 / 通用匹配。當(dāng)有匹配成功時候,停止匹配,按當(dāng)前匹配規(guī)則處理請求。
location / {
root /nginx/www;
index index.php index.html index.htm;
}
location ^~ /test {
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
}
location /:表示匹配訪問根目錄。
root:用于指定訪問根目錄時,訪問虛擬主機的web目錄。
index:在不指定訪問具體資源時,默認展示的資源文件列表。
ok,以上就是Nginx負載均衡之upstream、server、location參數(shù)配置,看完記得轉(zhuǎn)發(fā)、點贊和收藏。如果有錯誤,歡迎批評指正,感謝。
(云渺書齋)






