Microsoft Azure

AzureのWebAppにFlaskをデプロイする方法を解説【追加設定が必要です】

こんにちは、インフラエンジニアのryuです。

WebAppにFlaskで作ったWebアプリをデプロイ(発行)する方法を解説します。普通に発行しようとしても失敗してしまいます。発行するためには拡張機能の追加、webconfigの設定、モジュールの追加が必要です。それらの手順を詳しく解説していきます。

WebAppにFlaskで作ったWebアプリをデプロイする

WebAppにFlaskで作ったWebアプリをデプロイする方法を解説します。

しかし、マイクロソフトのドキュメントではWindowsのAppServiceへの発行は推奨されていません。Linuxへの移行が進められています。

一応、動作はするそうです。

そうとは知らず前回の記事でWebAppへFlaskで作ったWebAppを発行しようとしてしまいました。

今回はその続きで、Flaskで作ったWebAppの発行方法を解説します。

手順①.拡張機能でPythonを追加する

この記事は前回の記事の続きなので、FlaskのWebアプリを発行しているところからこの手順を始めて下さい。

「開発ツール」→「拡張機能」→「+追加」よりPythonを追加してください。

追加すると↓のような画面なります。

手順②.Web.configの設定

Web.configとはWebの設定が書かれているファイルです。

Azureでファイルを書き換える場合、 App Service Editorを使います。

「開発ツール」→「 App Service Editor」→「移動」から起動できます。

起動したら、Web.configのファイルを開きます。

デフォルトで書いてある文章を消して、以下のコードをコピーします。

6行目のvalue=”xxxxxxxx.app”についてxxxxxxxにはVisial Studioのプロジェクト名を入力してください。

12行目のD:\home\Python364x64\python.exe|D:\home\Python364x64\wfastcgi.pyはバージョンによって変わります。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
    <!-- The handler here is specific to Bottle; other frameworks vary. -->
    <add key="WSGI_HANDLER" value="FlaskWebProject1.app"/>
    <add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
  </appSettings>
  <system.webServer>
    <handlers>
      <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule"
           scriptProcessor="D:\home\Python364x64\python.exe|D:\home\Python364x64\wfastcgi.py"
           resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
  </system.webServer>
</configuration>

手順③.WebAppにFlaskのモジュールをインストールする

「開発ツール」→「 高度なツール」→「移動」からKuduを起動します。

Kuduとは、トラブルシューティングや分析などに使うツールです。

起動したら、画面上の「Debug console」→「CMD」をクリックします。

コマンドプロンプトに移動したら、

1.Pythonのインストールフォルダに移動

cd D:\home\python364x64 ※パスはバージョンによって異なります

2.Flaskのインストール

python.exe -m pip install Flask

pipのバージョンでエラーが出た場合はエラーで出たコマンドを実行します。

手順④.WebAppを再起動

最後にWebAppを再起動します。

「概要」→「再起動」をクリックします。

そして、「参照」か「URL」をクリックしてWebAppのサイトにアクセスします。

FlaskのデフォルトのWebページが表示されるはずです。

これで完了です。

About me
大手メーカのIT部門→上場ベンチャーでフルスタックエンジニアやってます。エンジニア歴は8年目。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!

UdemyでIT講座をチェック!

  • セールだと1500円前後!
  • 無料サンプル講義動画・無料講義動画あり!
  • 気に入らなければ30日間返金保証!