将 Python Web 应用部署到 Azure Stack Hub 中的 VM
可以创建一个 VM 来托管 Azure Stack Hub 中的 Python Web 应用。 在本文中,你将设置一个服务器,将该服务器配置为托管 Python Web 应用,然后将该应用部署到 Azure Stack Hub。
本文使用 Python 3.x 在 Nginx 服务器上的虚拟环境中运行 Flask。 使用 Azure Stack Hub 市场中提供的 Ubuntu Server 18.04 LTS。
创建 VM
按照部署 Linux VM 以在 Azure Stack Hub 中托管 Web 应用中的说明,在 Azure Stack Hub 中设置 VM。 使用 Azure Stack Hub 市场中提供的 Ubuntu Server 18.04 LTS。
在“VM 网络”窗格中,确保可以访问以下端口:
端口 协议 说明 80 HTTP 超文本传输协议 (HTTP) 是用于从服务器传递网页的协议。 客户端使用 DNS 名称或 IP 地址通过 HTTP 进行连接。 443 HTTPS 安全超文本传输协议 (HTTPS) 是 HTTP 的安全版本,它需要一个安全证书,并允许对信息进行加密传输。 22 SSH 安全外壳 (SSH) 是一种用于安全通信的加密网络协议。 你在 SSH 客户端上使用此连接来配置 VM 并部署应用。 3389 RDP 可选。 远程桌面协议 (RDP) 允许远程桌面连接使用计算机的图形用户界面。 5000、8000 自定义 开发中的 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。