Flask のポートを変更する

Salman Mehmood 2023年10月10日
Flask のポートを変更する

コマンドラインインターフェイスから flask アプリを実行するときにポートを変更する方法と、異なるポートで同時に異なるオペレーティングシステムで flask アプリを実行する方法を学習しようとしています。

Flask のデフォルトポートを変更する

ほとんどの場合、Flask の初心者は、次のコードを使用して、Flask アプリを実行するポートを定義します。

if __name__ == "__main__":
    app.run(port=1000)

しかし、その代わりにコマンドラインインターフェースで行うこともできます。これは推奨される方法なので、Windows で作業している場合は、flask アプリがあるディレクトリでターミナルを開き、次のコマンドを実行します。

set FLASK_APP=app.py

UNIX ベースのオペレーティングシステムで作業している場合は、次のコマンドを使用する必要があります。

export FLASK_APP=app.py

技術的には、app.py のようなファイル名を渡す必要はありません。指定しないと自動的に app.py を検索するためですが、明示的にするために、そこに追加しました。

以下のコマンドを使用して、flask アプリを実行します。

Flask run

これを実行すると、デフォルト構成は port 5000 で実行され、ブラウザーに移動して、ポートと実行中のポートを確認できます。

出力:

Flask のデフォルト設定を実行する

なんらかの理由でポートを変更したいとします。たとえば、いくつかの Flask アプリがあり、その場合、異なる API を作成し、複数の API を同時にテストしていますが、それらを同じポートに配置することはできないため、少なくとも 1つのポートを変更する必要があります。彼ら。

サーバーを停止しましょう。この構成変数を実行する方法はいくつかあります。ポートを定義する最初の方法を見て、UNIX ベースのオペレーティングシステムで次のコマンドを使用できます。

export FLASK_RUN_PORT=8000

これを行う 1つの方法は、Windows オペレーティングシステムです。

flask run --port=80

このコマンドを実行すると、以下の出力でポート 80 で実行されていることがわかります。これを変更して機能している場合は、ポート 5000 に戻ろうとしますが、機能しなくなります。

Flask のポートを変更します

最初に説明したように、従来の方法を使用して特定のポートを定義することもできます。

完全なソースコード:

from flask import Flask

app = Flask(__name__)


@app.route("/")
def PORT_FUNC():
    return "<h2>Hi there, this is port testing<h2/>"


# set FLASK_APP=app.py
# unix command
# export FLASK_APP=app.py

# set FLASK_RUN_PORT=8000

# windows command
# flask run --port=80

# if __name__=='__main__':
#     app.run(port=1000)
著者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

関連記事 - Flask Port