使用寶塔很長(zhǎng)時(shí)間了蟆炊,導(dǎo)致很多原生的nginx的配置都搞忘記了兜材。
恰逢需要原生安裝和配置,特此記錄:
1:負(fù)載均衡配置:
配置服務(wù)組:
upstream? xxx{
? ? ?server xxx.com:xx? weight=2;? ?#weight權(quán)重
? ? ?server? ccc.com:xx? backup;? ? ? #backup? 備用服務(wù)(前面服務(wù)器正常訪問(wèn)是不會(huì)發(fā)生請(qǐng)求吮播,只有前面服務(wù)器請(qǐng)求失敗時(shí)才會(huì)觸發(fā))?
? ? ? server? ccc.com:xx? down;? ? ? #如果需要暫時(shí)從負(fù)載平衡輪換中刪除其中一臺(tái)服務(wù)器东揣,則可以使用down參數(shù)對(duì)其進(jìn)行標(biāo)記,以保留客戶端 IP 地址的當(dāng)前散列
}
使用? ? 可以在
? ?localtion / {
? ? ?proxy_pass http://xxx;
}
進(jìn)行配置使用慎颗。
平衡方法:
1:默認(rèn)均勻分布
2:least_conn;根據(jù)連接數(shù)進(jìn)行請(qǐng)求(向具有最少活動(dòng)連接數(shù)的服務(wù)器發(fā)送請(qǐng)求乡恕,再次考慮服務(wù)器權(quán)重)
3:IP_HASH:? ?比較常用的均衡方式,根據(jù)IP限定每次訪問(wèn)相同的IP俯萎。
4:hash? ? $request_uri? ? consistent;? (備注:若有consistent參數(shù)傲宜,則Hash一致性將選擇 ketama算法。這個(gè)算法保障讯屈,如果有server被摘除掉蛋哭。從server group里,只有少數(shù)的key會(huì)重新映射到其他的server上去涮母,也即大多數(shù)的key不受server摘除的影響谆趾,還走原來(lái)的server。這對(duì)提高緩存server命中率有很大幫助叛本。這個(gè)方法跟Perl的Cache:Memcached:Fast庫(kù)保持一致(該庫(kù)的ketama_points參數(shù)須設(shè)置為160))
只有少數(shù)的key會(huì)重新映射到其他的server上去沪蓬,也即大多數(shù)的key不受server摘除的影響,還走原來(lái)的server来候。這對(duì)提高緩存server命中率有很大幫助跷叉。這個(gè)方法跟Perl的Cache:Memcached:Fast庫(kù)保持一致
? ?通用哈希– 請(qǐng)求發(fā)送到的服務(wù)器由用戶定義的鍵確定,該鍵可以是文本字符串营搅、變量或組合云挟。例如,密鑰可能是配對(duì)的源 IP 地址和端口
5:least_time? header(選擇具有最低平均延遲和最少活動(dòng)連接數(shù)的服務(wù)器转质,其中最低平均延遲是根據(jù)指令中包含的以下參數(shù)計(jì)算得出的:least_time);? 最少時(shí)間請(qǐng)求:
header– 從服務(wù)器接收第一個(gè)字節(jié)的時(shí)間
last_byte– 從服務(wù)器接收完整響應(yīng)的時(shí)間
last_byte inflight– 考慮到不完整的請(qǐng)求园欣,從服務(wù)器接收完整響應(yīng)的時(shí)間
6:隨機(jī)- 每個(gè)請(qǐng)求將被傳遞到隨機(jī)選擇的服務(wù)器。如果two指定了參數(shù)休蟹,首先 NGINX 會(huì)根據(jù)服務(wù)器權(quán)重隨機(jī)選擇兩臺(tái)服務(wù)器沸枯,然后使用指定的方法選擇其中一臺(tái)服務(wù)器:
least_conn– 最少的活動(dòng)連接數(shù)
least_time=header(NGINX Plus) – 從服務(wù)器接收響應(yīng)頭的最短平均時(shí)間 (?$upstream_header_time)
least_time=last_byte(NGINX Plus) – 從服務(wù)器接收完整響應(yīng)的最短平均時(shí)間 (?$upstream_response_time)
(隨機(jī)負(fù)載平衡方法應(yīng)用于多個(gè)負(fù)載平衡器將請(qǐng)求傳遞到同一組后端的分布式環(huán)境。對(duì)于負(fù)載均衡器可以全面了解所有請(qǐng)求的環(huán)境赂弓,請(qǐng)使用其他負(fù)載均衡方法绑榴,例如循環(huán)、最少連接和最少時(shí)間盈魁。)
需要注意:random two? least_time=last_byte;?配置輪詢以外的任何方法時(shí)翔怎,將相應(yīng)的指令(hash、ip_hash杨耙、least_conn姓惑、least_time或)放在塊中指令random列表的上方。serverupstream {}
2:服務(wù)器慢啟動(dòng)
upsteam xxx{
? ? server http://xxx? slow_start=30s;?
}
防止服務(wù)器因?yàn)檎?qǐng)求超限而重新被標(biāo)記為失敗按脚。
慢啟動(dòng)允許上游服務(wù)器在恢復(fù)或可用后逐漸將其權(quán)重從其標(biāo)稱值恢復(fù)于毙。這可以通過(guò)指令的slow_start參數(shù)來(lái)完成。
總結(jié)一句話辅搬,對(duì)于相關(guān)配置還是需要經(jīng)常練習(xí)唯沮,或者盡量少的使用集成環(huán)境。