Azure Stack Hub 内の VM に Python Web アプリをデプロイする
Azure Stack Hub でご自分の Python Web アプリをホストする VM を作成することができます。 この記事では、サーバーを設定し、Python Web アプリをホストするようにサーバーを構成してから、アプリを Azure Stack Hub にデプロイします。
この記事では、Nginx サーバー上の仮想環境内で Flask を実行している Python 3.x を使用します。 Azure Stack Hub Marketplace から Ubuntu Server 18.04 LTS を使用します。
VM の作成
「Web アプリをホストする Linux VM を Azure Stack Hub にデプロイする」の手順に従って、Azure Stack Hub で VM を設定します。 Azure Stack Hub Marketplace から Ubuntu Server 18.04 LTS を使用します。
VM ネットワーク ウィンドウで、次のポートにアクセスできることを確認します。
Port Protocol 説明 80 HTTP ハイパーテキスト転送プロトコル (HTTP) は、サーバーからの Web ページの配信に使用されるプロトコルです。 クライアントは、DNS 名または IP アドレスを使用して HTTP 経由で接続されます。 443 HTTPS ハイパーテキスト転送プロトコル セキュア (HTTPS) は、セキュリティ証明書を要求し、情報の暗号化された転送を許可する、セキュリティで保護されたバージョンの HTTP です。 22 SSH Secure Shell (SSH) は、セキュリティで保護された通信のための暗号化されたネットワーク プロトコルです。 SSH クライアントとのこの接続を使用して、VM を構成し、アプリをデプロイします。 3389 RDP 省略可能。 リモート デスクトップ プロトコル (RDP) では、リモート デスクトップ接続を介して、ご利用のマシンでグラフィック ユーザー インターフェイスを使用できるようにします。 5000、8000 Custom 開発時に Flask Web フレームワークによって使用されるポート。 運用サーバーでは、80 と 443 を介してトラフィックをルーティングします。 [概要] ペインで、[DNS 名] の下の [構成] を選択します。
[静的] を選択し、次のような DNS 名を持つようにマシンに名前を付ます。
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
Python のインストール
SSH クライアントを使用して VM に接続します。 手順については、「PuTTy を使用して SSH 経由で接続する」を参照してください。
ご自分の VM 上の bash プロンプトで、次のコマンドを入力します。
sudo apt-get update sudo apt-get -y install python3 python3-dev sudo apt install python3-pip
インストールを検証します。 SSH セッションでまだ VM に接続している間に、次のコマンドを入力して Python を開き、バージョン番号をメモします。 次に「
quit()
」と入力して Python REPL を終了します。python3 quit()
Nginx をインストールします。これは、軽量な Web サーバーです。 SSH セッション内でご自分の VM に接続したままで、次のコマンドを入力します。
sudo apt-get -y install nginx
Git をインストール します。これは、広域分散型のバージョン管理およびソース コード管理 (SCM) システムです。 SSH セッション内でご自分の VM に接続したままで、次のコマンドを入力します。
sudo apt-get -y install git
アプリのデプロイと実行
VM 上でご自分の Git リポジトリを設定します。 SSH セッション内でご自分の VM に接続したままで、次のコマンドを入力します。
git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git cd azure-stack-hub-flask-hello-world
SSH セッション内でご自分の VM に接続したままで、次のコマンドを入力して依存関係をインストールします。 apt を使用して Flask をインストールし、pip を使用して
requirements.txt
からモジュールを読み込みます。sudo apt install python3-flask pip3 install -r requirements.txt export FLASK_APP=application.py flask run -h 0.0.0.0
ご自分の新しいサーバーに移動します。 実行中のご自分の Web アプリケーションを確認できます。
<yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
ご自分のサーバーを更新する
SSH セッション内でご自分の VM に接続します。 Ctrl + C キーを押して、サーバーを停止します。
次のコマンドを入力します。
cd azure-stack-hub-flask-hello-world git pull
仮想環境をアクティブ化し、アプリを起動します。
export FLASK_APP=application.py flask run -h 0.0.0.0
次のステップ
- Azure Stack Hub 向けの開発方法について、さらに学習する。
- IaaS としての Azure Stack Hub 向けの一般的なデプロイを確認する。
- Python プログラミング言語の詳細および Python の他のリソースについては、Python.org を参照してください。