將 Python Web 應用程式部署至 Azure Stack Hub 中的 VM
您可以建立 VM,以在 Azure Stack Hub 中裝載 Python Web 應用程式。 在本文中,您會設定伺服器、設定伺服器來裝載 Python Web 應用程式,然後將應用程式部署至 Azure Stack Hub。
本文使用在 Nginx 伺服器上的虛擬環境中執行 Flask 的 Python 3.x。 從 Azure Stack Hub Marketplace 使用 Ubuntu Server 18.04 LTS。
建立 VM
依照部署Linux VM以裝載Web應用程式的指示,在Azure Stack Hub中設定您的VM。 從 Azure Stack Hub Marketplace 使用 Ubuntu Server 18.04 LTS。
在 [VM 網络] 窗格中,確定可存取下列埠:
港口 協定 描述 80 HTTP 超文本傳輸通訊協定 (HTTP) 是用來從伺服器傳遞網頁的通訊協定。 用戶端會透過 HTTP 與 DNS 名稱或 IP 位址進行連線。 443 HTTPS 超文本傳輸通訊協定安全 (HTTPS) 是一種安全版本的 HTTP,需要安全性憑證,並允許加密的資訊傳輸。 22 SSH 安全殼層 (SSH) 是加密的網路通訊協定,用於安全通訊。 您可以使用此連線搭配 SSH 用戶端來設定 VM 並部署應用程式。 3389 遠端桌面協議 (RDP) 自選。 遠端桌面通訊協定 (RDP) 可讓遠端桌面連線在您的電腦上使用圖形使用者介面。 5000, 8000 習慣 Flask Web 架構在開發中使用的埠。 針對生產伺服器,您可以透過 80 和 443 路由傳送流量。 在 [概觀] 窗格中,選取 [在 [DNS 名稱] 底下設定。
選擇 靜態,然後為機器命名,以便您擁有類似
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
的 DNS 名稱。
安裝 Python
在 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。 當您仍在 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 開發。
- 瞭解 Azure Stack Hub 常見的 IaaS部署。
- 若要瞭解 Python 程式設計語言並尋找 Python 的其他資源,請參閱 Python.org。