2012-11-04 14 views
5

クラスタの単純なnginx設定以下では、192.168.1.77:3032サーバをオフにします。uwsgicluster - アップストリームクライアントに接続中にライブアップストリームがありません

時々、「server unix:///var/tmp/site.sock backup;」というログに502エラーと「上流のクライアントに接続している間にライブのアップストリームがありません」というメッセージが記録されます。私は思うように要求を処理する必要がありますが、nginxはそれがライブとしてそれを見つけることはありません。何が問題なの?

nginxの設定ファイル:

 upstream uwsgicluster { 
      server 192.168.1.77:3032; 
      server unix:///var/tmp/site.sock backup; 
     } 


server { 
    listen  80; 
    server_name site.com www.site.com; 
    access_log /var/log/nginx/sire.log; 
    error_log /var/log/nginx/site-error.log; 


    location/{ 
      uwsgi_pass uwsgicluster; 
      include  uwsgi_params; 
     } 
} 

私は、上流から192.168.1.77:3032サーバー を削除し、それが正常に動作しますnginxの再起動しますが、192.168.1.77:3032サーバーエラーをオフにすると、定期的に

+0

リモートアップストリームサーバーはいつでも使用できますか? – RickyA

+0

あなたの建物は事実上ロードバランサとなります。どのようなアプリケーションサーバー(uwgi要求ではない)にhttp 80要求を渡すだけであるこの負荷分散サーバーを作成します。 – RickyA

+1

また、ロードバランスのホットスワッピングは、アップスタムサーバーが故障したときに負荷分散サーバーを停止させる完璧な方法のように見えます。リモートホットスワップを使用します。 – RickyA

答えて

1

発生した場合私はnginxはまだアップストリームブロックのいずれかが動作していない場合でも両方のサーバーを試してみると思う。それらのいずれかに接続できない場合は、もう一方を試しますが、表示されているエラーはログに記録されます。

デフォルトでは、proxy_next_upstream設定は、エラーまたはタイムアウト時に次のアップストリームサーバーを試行します。

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream

はあなたが唯一のエラーログを見ている、またはあなたはまた、望ましくない行動/ロード・バランシングを見ている?あなたはこれを上書きすることができますか

関連する問題