Flask アプリケーションのデプロイ

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、Flask アプリケーションをサーバーにデプロイする方法を学びます。アプリケーション用の配布ファイルを作成し、サーバーにインストールします。この実験では、Flask、Python の仮想環境、およびコマンド ラインに関する基本的な知識があることを前提としています。

注:コード ファイルは自分で作成し、環境で実行する必要があります。Web 5000 で Flask サービスの状態をプレビューできます。

アプリケーションの構築

まず、アプリケーション用の wheel ファイルを作成する必要があります。これにはbuildツールを使用します。まだインストールしていない場合は、pip を使ってbuildツールをインストールします:

## Install the build tool
pip install build

次に、buildツールを使って wheel ファイルを作成します:

## Build the wheel file
python -m build --wheel

wheel ファイルは、distディレクトリにflaskr-1.0.0-py3-none-any.whlのような名前であるはずです。

サーバーにアプリケーションをインストールする

wheel ファイルをサーバーにコピーします。サーバーにコピーしたら、新しい Python 仮想環境をセットアップし、pip を使って wheel ファイルをインストールします:

## Install the wheel file
pip install flaskr-1.0.0-py3-none-any.whl

これは新しい環境なので、データベースを再度初期化する必要があります:

## Initialize the database
flask --app flaskr init-db

シークレットキーの設定

本番環境では、シークレットキーをランダムな値に変更する必要があります。ランダムなシークレットキーを生成するには、次のコマンドを実行します:

## Generate a random secret key
python -c 'import secrets; print(secrets.token_hex())'

インスタンスフォルダにconfig.pyファイルを作成し、SECRET_KEYを生成した値に設定します。

#.venv/var/flaskr-instance/config.py

SECRET_KEY = 'your_generated_secret_key'

本番サーバーでアプリケーションを実行する

本番環境では、組み込みの開発サーバーの代わりに WSGI サーバーを使用する必要があります。私たちは Waitress を WSGI サーバーとして使用します。

まず、Waitress をインストールします:

## Install Waitress
pip install waitress

次に、Waitress にアプリケーションをサービスするように指示します:

## Run the application with Waitress
waitress-serve --call 'flaskr:create_app'

まとめ

この実験では、Flask アプリケーションを本番サーバーにデプロイする方法を学びました。アプリケーションを wheel ファイルにビルドし、サーバーにインストールし、シークレットキーを設定し、本番用の WSGI サーバーでアプリケーションを実行しました。