nginx的基礎應用(續)

2021-08-30 17:21:39 字數 1680 閱讀 3425

通過多個例項進行負載均衡是乙個比較常用的技術,它用來是資源利用最大化、提高通過率、降低延遲響應、確保容災等。

nginx最簡單的負載均衡配置如下:

}}nginx的反向**實現包含負載均衡的種類:http、https、fastcgi、uwsgi、scgi和快取等。

如果要用https的負載均衡,只需要使用https的協議即可。

當為fastcgi、uwsgi、scgi和快取設定負載均衡時,使用相應的fastcgi_pass、uwsgi_pass、scgi_pass和memcached_pass的指令集即可,這裡不做詳細介紹。

另外乙個負載連線方式是最小連線。最小連線的方式可以使應用例項間的負載更公平,例如在一些請求需要花費更長時間去完成的情況。

使用最小連線的方式,nginx不會將過多的請求分配到乙個比較忙的應用服務上,它將把請求分配到相對不忙的應用服務上。

最小連線的負載均衡方式在nginx中的配置如下,它作為服務組中的乙個配置出現:

least_conn;

server srv1.example.com;

server srv2.example.com;

server srv3.example.com;

}如果需要將乙個客戶端繫結到乙個特殊的應用服務上,換句話說,使客戶端的會話「粘連」或「保持」,就要使用「ip-hash」的負載均衡機制了。

使用ip-hash,客戶端的ip用來做雜湊的key,決定著選擇服務組中的哪個應用服務這個客戶端的請求。這種方法決定了相同客戶端的請求總是分配給相同的服務,除非這個服務不可用了。

配置ip-hash的負載均衡,只需要將ip-hash指令新增到服務組(upstream)中,如下:

ip_hash;

server srv1.example.com;

server srv2.example.com;

server srv3.example.com;

}通過使用服務權重,可以進一步影響負載均衡的邏輯。上面的例子中,沒有配置權重的意思是,所有指定的服務將被看做有相同的權重。

採用輪詢的方式,如果有足夠的請求,並且請求通過統一的方式處理並且快速的完成的情況下,它仍然意味著在服務之間或多或少的公平的分配。

當weight引數為乙個服務指定時,它將是負載均衡過程中的一部分。

server srv1.example.com weight=3;

server srv2.example.com;

server srv3.example.com;

}上面的配置中,每5個應用請求將分配如下:3個請求分配個srv1,1個請求分配給srv2,另乙個請求分配給srv3。在nginx最近的版本中,在最小連線和ip-hash的負載均衡方式中使用權重(weight)也是有可能的。

nginx的反向**包括帶內(或被動)的健康檢查。如果乙個服務的響應是失敗的,nginx將會標記這個服務是失敗的,並且在短暫的時間內,避免為下乙個請求選擇這個服務。

max_fails指令設定是,在fail_timeout時間內,嘗試和這台服務連續通訊失敗的次數。預設情況下,max_fails設定為1,當設定為0時,這個服務的健康檢查將失效。fail_timeout引數定義了這個服務多長時間會被標記為失效,在服務失敗的fail_timeout間隔後,nginx使用活的客戶端請求優雅的探測服務,如果探測成功了,這個服務將會標記為成功的。

nginx的基礎應用(續)

nginx的基礎應用 續 一 簡介 通過多個例項進行負載均衡是乙個比較常用的技術,它用來是資源利用最大化 提高通過率 降低延遲響應 確保容災等。二 負載均衡的方法 三 預設的負載均衡配置 nginx最簡單的負載均衡配置如下 nginx的反向 實現包含負載均衡的種類 http https fastcg...

nginx的基礎應用

今天我們將介紹一些nginx的簡單應用,啟動 停止nginx,過載nginx的配置,nginx配置檔案的格式,如何配置nginx服務靜態資源,如何配置nginx作為反向 伺服器。nginx有乙個主程序和幾個工作程序。主程序主要是讀取和解析配置檔案,以及保持工作程序工作 工作程序處理實際的請求。ngi...

nginx的基礎應用

nginx的基礎應用 一 簡介 今天我們將介紹一些nginx的簡單應用,啟動 停止nginx,過載nginx的配置,nginx配置檔案的格式,如何配置nginx服務靜態資源,如何配置nginx作為反向 伺服器。nginx有乙個主程序和幾個工作程序。主程序主要是讀取和解析配置檔案,以及保持工作程序工作...