2014-02-07 68 views
1

我們正在研究使用AWS作爲我們的託管環境,並設置了測試VPC。我們現在在nginx後面運行使用Unicorn的Rails應用程序。當試圖在ELB後面安裝我們的服務器時,由於「健康檢查失敗」,他們一直被踢出。在亞馬遜ELB背後運行Unicorn

但是,運行狀況檢查將返回狀態200,並且將在所需的200狀態數後立即返回到活動狀態。只要請求開始擊中服務器,ELB將再次丟棄服務器。據我所知,這是由於獨角獸不保持連接打開並在請求完成後關閉連接。 ELB顯然不喜歡這個故障排除頁面:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html

我是否正確,這是問題?有沒有辦法解決這個問題,而無需設置額外的nginx服務器?獨角獸的其他選擇與亞馬遜ELB有什麼不同嗎?

回答

6

我剛剛花了一天的眼淚試圖讓槍炮(基於python)在ELB後面工作。我看起來好像在nginx後面工作得很好(手指交叉)。確保elb健康檢查不直接傳送給獨角獸。它應該通過nginx。

這是我的理解,獨角獸的風格是得到一個請求,處理它,然後繼續前進。 ELB希望保持連接暢通,以提高效率。 Nginx可以處理許多連接,並且沒有任何問題。