English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Flask デプロイ

開発サーバー上のFlaskアプリケーションは、開発環境が設定されたコンピュータ上からのみアクセスできます。これはデフォルトの動作であり、デバッグモードではユーザーがコンピュータ上で任意のコードを実行できるためです。

デバッグが無効の場合、ホスト名を:0.0.0.0に設定することで、ネットワーク上のユーザーがローカルコンピュータ上の開発サーバーを使用できるようになります。

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ja.oldtoolbag.com
# Date : 2020-08-08
app.run(host = ’0.0.0.0’)

このようにして、オペレーティングシステムはすべてのパブリックIPをリスニングします。つまり、すべてのリクエストが処理されます。

デプロイ

開発環境から完全なプロダクション環境に移行するには、アプリケーションを本物のWebサーバー上にデプロイする必要があります。具体的な状況に応じて、Flask Webアプリケーションのデプロイに使用できる異なるオプションがあります。

小型アプリケーションの場合、以下のどのホスティングプラットフォームにもデプロイできます。これらのすべてのプラットフォームは、小型アプリケーション向けの無料プランを提供しています。

Heroku dotcloud webfaction

Flaskアプリケーションはこれらのクラウドプラットフォームにデプロイできます。また、GoogleクラウドプラットフォームにFlaskアプリケーションをデプロイすることもできます。Localtunnelサービスは、DNSとファイアウォール設定を混乱させずにローカルホスト上でアプリケーションを共有する許可を与えます。

上記の共有プラットフォームではなく専用のWebサーバーを使用する場合は、以下のオプションを使用できます。

mod_wsgi

mod_wsgiはApacheモジュールで、Apacheサーバー上でPythonベースのWebアプリケーションをホストするためのWSGI互換インターフェースを提供します。

mod_wsgiのインストール

PyPiから直接正式版をインストールするには、以下を実行できます -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ja.oldtoolbag.com
# Date : 2020-08-08
pip install mod_wsgi

インストールが成功したかどうかを確認するには、startを使用します-serverコマンドでmod_wsgiを実行します-expressスクリプト -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ja.oldtoolbag.com
# Date : 2020-08-08
mod_wsgi-express start-server

それがポートに:を表示します8000上启动 Apache/mod_wsgi。その後、ブラウザで -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ja.oldtoolbag.com
# Date : 2020-08-08
http://localhost:8000/

ファイル.wsgiを作成する

あるべき yourapplication.wsgi ファイル。このファイルには、アプリケーションオブジェクトを取得するために起動時に実行されるmod_wsgiのコードが含まれています。多くのアプリケーションでは、以下のファイルが十分です。 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ja.oldtoolbag.com
# Date : 2020-08-08
from yourapplication import app as application

yourapplicationと使用しているすべてのライブラリがpythonのロードパス上にあることを確認してください。

Apacheの設定

mod_wsgiに、アプリケーションの位置を教える必要があります。以下の設定を参照してください。 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ja.oldtoolbag.com
# Date : 2020-08-08
<VirtualHost *>
    ServerName example.com
    WSGIScriptAlias / C:\yourdir\yourapp.wsgi
    <Directory C:\yourdir>
       Order deny,allow
       Allow from all
    </Directory>
 </VirtualHost>

独立したWSGIコンテナ

Pythonで書かれた人気のサーバーが多く、WSGIアプリケーションを含みHTTPサービスを提供しています。

Gunicorn Tornado Gevent Twisted Web