Back to Blog

Flaskで公開するポートを指定する方法解説

flask

2024年7月26日

こんにちは!

今回の記事では、Flaskで公開するポートを指定する方法について解説します。

Flaskを起動すると、5000番ポートや8000番ポートで起動することが多いと思います。他のサーバーでも同じポートを使っている場合、ポート番号を変更しなければいけません。

そこで、今回は公開するポートを指定する方法を丁寧に解説します!

そもそもポート番号とは?

そもそもポート番号とは何なのでしょうか?

ポート番号は、ネットワーク通信において特定のサービスやアプリケーションを識別するための数値です。

IPアドレスがネットワーク上の特定のデバイスを示すのに対し、ポート番号はそのデバイス上の特定のプロセスやサービスを識別します。

例えば、ウェブサーバーは通常ポート80や443を使用し、メールサーバーはポート25や587を使用します。

ポート番号は0から65535まであり、0から1023はよく知られたサービス用に予約されています。ポート番号を適切に設定することで、異なるアプリケーションが同じデバイスで同時に動作できます。

また、同じポート番号を使用することはできません。例えば、5000番ポートをすでに使用している場合、別のサービスは5000番以外のポートを使用する必要があります。このような場合にFlaskでポート番号を指定する必要があります。

Flaskで公開するポートを指定する方法解説

Flaskで公開するポートを指定する方法は、Flaskを起動させるコマンドによって変わります。

Flaskを開発環境で起動する場合と、Flaskを本番環境で起動する場合です。

それぞれ、python app.pyコマンドとgunicornコマンドを使うので、それぞれのポートの指定方法について解説します。

python app.pyで起動する場合

開発環境でFlaskを使う場合は、python app.pyコマンドを使用します。

その際、ポートを指定する場合は、app.run()メソッドの引数としてportを設定します。

以下に具体的な例を示します。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, Flask!"

if __name__ == '__main__':
    app.run(port=5100)

以下のように、port=の部分にポート番号を指定しましょう。上記の例では、5100番ポートに変更しています。

app.run(port=[ポート番号])

ポート番号を指定しない場合、デフォルトではポート番号5000が使用されます。

gunicornで起動する場合

本番環境でFlaskを使う場合は、gunicornコマンドを使用します。

デフォルトでは、Gunicornはポート8000でアプリケーションを起動します。

異なるポート番号を指定するには、-bオプションを使用します。

例えば、ポート8080で起動するには以下のコマンドを使用します。

gunicorn -b 0.0.0.0:8080 app:app

-bオプションは、バインドアドレスとポート番号を指定します。0.0.0.0はすべてのネットワークインターフェースからの接続を受け付ける設定です。ポート番号は8080に設定しています。

Gunicornについては、以下の記事で詳しく解説しています。

まとめ

今回の記事では、Flaskで公開するポートを指定する方法について解説しました。

ポート番号の変更はさまざまな場面で必要になります。そのためには、ポートの概要はもちろん、ポートの指定方法などを知っておく必要があります。

今回の記事が何かのお役に立てれば幸いです。

ここまでお読みいただきありがとうございました。

Webの知識を作りながら学ぶ
Flask WebAcademy

SNSアプリやチャットアプリ、さまざまなアプリを作りながら学べる実践的なカリキュラム

詳細を見る