Share via


將 Python Web 應用程式部署至 Azure Stack Hub 中的 VM

您可以在 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

  1. 請依照在 Azure Stack Hub 中部署用來裝載 Web 應用程式的 Linux VM 中的指示,在 Azure Stack Hub 中設定 VM。 使用 Azure Stack Hub Marketplace 中的 Ubuntu Server 18.04 LTS

  2. 在 VM 網路窗格中,確定可存取下列連接埠:

    連接埠 通訊協定 描述
    80 HTTP 超文字傳輸通訊協定 (HTTP) 是用於從伺服器提供網頁的通訊協定。 用戶端會使用 DNS 名稱或 IP 位址透過 HTTP 連線。
    443 HTTPS 超文字傳輸通訊協定安全 (HTTPS) 是安全的 HTTP 版本,其需要安全性憑證並允許加密的資訊傳輸。
    22 SSH 安全殼層 (SSH) 是安全通訊的加密網路通訊協定。 您會使用此連線與 SSH 用戶端來設定 VM 及部署應用程式。
    3389 RDP 選擇性。 遠端桌面通訊協定 (RDP) 可讓遠端桌面連線在您的機器上使用圖形化使用者介面。
    5000、8000 Custom Flask Web 架構在開發過程中會使用連接埠。 針對生產伺服器,您可透過 80 和 443 來傳送流量。
  3. 概觀窗格的 DNS 名稱底下,選取 [設定]。

  4. 選取 [靜態] 並將機器命名,您便可使用 DNS 名稱,例如:<yourmachine>.<local>.cloudapp.azurestack.contoso.com

安裝 Python

  1. 使用 SSH 用戶端連線到 VM。 如需指示,請參閱透過 SSH 與 PuTTy 進行連線

  2. 在您 VM 的 Bash 提示字元中,輸入下列命令:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. 驗證您的安裝。 在您的 SSH 工作階段仍連線至 VM 的情況下,請輸入下列命令以開啟 Python,並記下版本號碼。 接著輸入 quit() 以結束 Python REPL。

    python3
    quit()
    
  4. 安裝 Nginx,輕量級 Web 伺服器。 在您的 SSH 工作階段中仍連線至 VM 的情況下,輸入下列命令:

    sudo apt-get -y install nginx
    
  5. 安裝 Git,這是一種廣為人知的版本控制暨原始程式碼管理 (SCM) 系統。 在您的 SSH 工作階段中仍連線至 VM 的情況下,輸入下列命令:

    sudo apt-get -y install git
    

部署並執行應用程式

  1. 在您的 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
    
  2. 在您的 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
    
  3. 前往您的新伺服器。 您應該會看到執行中的 Web 應用程式。

    <yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
    

更新您的伺服器

  1. 在您的 SSH 工作階段中連線至 VM。 輸入 Ctrl+C 以停止伺服器。

  2. 輸入下列命令:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. 啟用虛擬環境並啟動應用程式:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

後續步驟