2017-01-30 9 views
10

私のアプリケーションが動作するホストとポートを変更したい。私はhostportapp.runに設定しましたが、flask runコマンドは依然としてデフォルトの127.0.0.1:8000で実行されます。 flaskコマンドで使用するホストとポートを変更するにはどうすればよいですか?Flaskアプリケーションが動作するホストとポートを変更できないのはなぜですか?

if __name__ == '__main__': 
    app.run(host='0.0.0.0', port=3000) 
set FLASK_APP=onlinegame 
set FLASK_DEBUG=true 
python -m flask run 

答えて

19

flaskコマンドはflask.run法から分離され、それを参照するか、いずれかの方法でそれを使用しません。コマンドライン引数をコマンドに渡すことができます。

flask run -h localhost -p 3000 

オプションの完全なリストについては、パス--help


(例えば0.0.0.0に結合されるように)外部にDEVサーバを公開しないでください。 uWSGIやGunicornなどの実動WSGIサーバーを使用します。

gunicorn -w 2 -b 0.0.0.0:3000 myapp:app 
2

あなたがflask runコマンドを使用してアプリケーションサーバーを実行すると、モジュールの__name__"__main__"ではありません。したがって、コードのifブロックは実行されません。したがって、サーバーは0.0.0.0にバインドされていません。

このコマンドを使用する場合は、--hostフラグを使用してカスタムホストをバインドできます。

flask run --host=0.0.0.0 

Source

+0

これは*本当に* __main__' 'とは関係ありません。条件を取り除くと、それはまったく別の問題になります。 'run'メソッドがブロックされ、'フラスコ実行 'は実際には何もしません(正しくはありません)。それを取り除くと、これは私の答えとまったく同じことを言います。 – davidism

関連する問題