2017-05-25 6 views
1

EC2で単純なFlaskアプリケーション(hello world)を設定し、EC2だけを実行してIPアドレスに移動すると、うまくいくようです。 すべては社内ネットワークにあります。 ELBの背後に同じEC2を置くとすぐに、ELBアドレスを使用して同じアプリに行く - これは、10秒から60秒までの長い待ち時間を開始します。私は定期的なFlaskのWebサーバーを使用しています(デフォルトのもの - 私はそれがwsgiだと思います)。AWS EC2のFlaskとAWS ELBを使用した場合の待ち時間が高い

コードは、できるだけ簡単です:

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    return 'Hello, World!' 

if __name__ == '__main__': 
    app.run(host='0.0.0.0', port=8080) 

私は(任意のフラスコ、単にデフォルトのホーム・ページなし)Apacheやnginxのを使用している場合 - まったくの待ち時間。しかし、私はApacheやNginxの後ろでFlaskを動かすことができませんでした。

ELBとFlask(EC2)の間にこの種の遅延が発生したことはありますか? 私は、異なるオペレーティングシステム(CentOS、Ubuntu)、異なるELB、異なるEC2、異なるポート(80,8080,8000など)を試しました。

ありがとうございました。

+0

フラスコサーバーを起動する方法は? –

+0

'python hello.py'です。また、 'uwsgi --socket 0.0.0.0:8080 --protocol = http -w wsgi'アプローチを試みましたが、待ち時間は改善されませんでした。 – cikavladimir

+0

ELB設定を共有できますか? –

答えて

0

私は最近、まったく同じ問題を経験しました。これは、AWS ELBとuwsgiの間に互換性がないためです。解決策はあなたが言ったようなもので、NginxをFlaskの前にプロキシとして置くと、問題は解決されます。詳細については、こちらをご覧ください:https://github.com/unbit/uwsgi/issues/930

関連する問題