nginx的upstream目前支持的5種方式的分配。
1.輪詢
每個請求按時間順序逐一分配到不同的后端服務,如果后端某臺服務器死機,自動剔除故障系統(tǒng),使用戶訪問不受影響。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}
2.指定權(quán)重
指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
upstream backserver {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}
3.IP綁定 ip_hash
每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。
upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}
4.fair(第三方)
按后端服務器的響應時間來分配請求,響應時間短的優(yōu)先分配。
upstream backserver {
server server1;
server server2;
fair;
}
5.url_hash
按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效.
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}
二、Nginx負載均衡調(diào)度狀態(tài)
1.down:表示當前server不參與負載均衡
2.backup:預留備份的機器,只有當其他機器出現(xiàn)故障或者忙的時候,當前機器才會處理請求,所以這臺機器訪問的壓力最低
3.max_fails:允許請求失敗的次數(shù),默認為1,當超過最大次數(shù)時,返回proxy_next_upstream模塊定義的錯誤、
4.max_timeOut:請求失敗超時時間,在經(jīng)歷了max_fails次失敗后,暫停服務的時間。max_fails和fail_timeout可以一起使用
Nginx返回狀態(tài)碼說明:404頁面不存在,403權(quán)限不足拒絕提供服務,500服務器內(nèi)部錯誤,502連接超時,503 客戶端到服務器,但是服務器沒有響應,301和302基本屬于一種情況,rewrite地址重寫,falg標記的原因。
Nginx配置說明:limit-rare imit_rate 此配置是對客戶端請求限制每秒傳輸?shù)淖止?jié)數(shù)。可以使用多種單位,默認參數(shù)為0,表示不限速 限速
limit-rate-after:limit_rate_after 此配置表示Nginx向客戶端發(fā)送的響應長度超過limit_rate_after后才開始限速 比如百度云體驗會員。
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
listen 443;
server_name www.xxx.com; # 項目域名
ssl on;
ssl_certificate server.crt; #(證書公鑰)
ssl_certificate_key server.key; #(證書私鑰)
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://192.168.1.11:8086; # tomcat服務器地址
}
}