2012-02-03 77 views
2

我們使用Nginx在兩個上游應用服務器之間進行負載平衡,我們希望能夠在部署到其上時取下其中一個。我們發現,當我們關閉其中一個時,Nginx不會失敗。它不斷髮送請求和記錄錯誤。當用於負載均衡時,Nginx並未故障轉移

我們的上游指令的格式:

upstream app_servers { 
    server 10.100.100.100:8080; 
    server 10.100.100.200:8080; 
} 

我們從閱讀Nginx的文檔的理解是,我們並不需要,因爲他們有合理的默認值顯式地指定「max_fails」或「fail_timeout」。 (即max_fails爲1)。

任何想法我們可能會在這裏失蹤?

非常感謝。

回答

3

作爲每文檔...

max_fails = NUM​​BER - 之後它被認爲是不工作的(由參數 fail_timeout分配)在與所述時間週期內的服務器通信 不成功嘗試的次數。如果未設置,則 嘗試次數爲1。值爲0會關閉此檢查。什麼 被認爲是失敗是由proxy_next_upstream或 fastcgi_next_upstream(除了http_404錯誤,其中不包括朝向max_fails的 )定義。

根據文檔,失敗由proxy_next_upstreamfastcgi_next_upstream定義。

它不斷髮送請求和記錄錯誤。

請檢查什麼錯誤的類型被記錄日誌,如果不是默認的(錯誤或超時),那麼你可能想在proxy_next_upstream或fastcgi_next_upstream專門定義它。