Flask Tutorials

Flaskアプリを0.0.0.0で実行する

Spread the love

Flaskは、ウェブアプリケーションを構築するための一般的なPythonマイクロフレームワークです。Flaskアプリをローカルマシンだけでなく、ネットワーク上の任意のデバイスからアクセスできるようにする必要がある場合があります。そのためには、app.run()hostパラメータを'0.0.0.0'に設定する必要があります。この記事では、Flask開発サーバーをネットワークからアクセスできるように設定する方法について説明します。

目次

app.run()関数

app.run()関数はFlask開発サーバーを起動します。動作をカスタマイズするためのいくつかのオプション引数を受け付けます。重要な引数には、hostportdebugがあります。


from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "

Hello, World!

" if __name__ == "__main__": app.run() # デフォルトはhost='127.0.0.1', port=5000

これは、ポート5000を使用してlocalhost127.0.0.1)でサーバーを起動します。他のデバイスからアクセスできるようにするには、hostパラメータを調整します。

hostパラメータの設定

hostパラメータは、サーバーがリスンするネットワークインターフェースを指定します。これを'0.0.0.0'に設定すると、サーバーは使用可能なすべてのインターフェースでリスンするように指示され、同じネットワーク上の任意のデバイスからアプリケーションにアクセスできるようになります。


if __name__ == "__main__":
    app.run(host='0.0.0.0')

portパラメータの使用

portパラメータはポート番号を指定します。デフォルトは5000です。このポートが既に使用されている場合は、別のポートを選択する必要があります。


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

デバッグモード

debugパラメータは、コードの変更時の自動リロードやインタラクティブデバッガーなどのデバッグ機能を有効にします。開発中は非常に便利ですが、本番環境では大きなセキュリティリスクとなります。本番環境ではdebug=Trueを決して使用しないでください。


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

すべてをまとめる

すべてのパラメータを組み合わせることで、開発サーバーを完全に制御できます。


if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8081, debug=True) 

本番環境へのデプロイ

app.run()メソッドは開発専用です。本番環境では、GunicornやuWSGIなどの本番環境対応WSGIサーバーと、systemdやsupervisordなどのプロセスマネージャーを使用して、より優れたパフォーマンス、セキュリティ、信頼性を実現してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です