Azure 项目构建 – 部署高可用的 Python Web 应用

时间:2022-01-06 02:36:50

Python 以其优美,清晰,简单的特性在全世界广泛流行,成为最主流的编程语言之一。Azure 平台针对 Python 提供了非常完备的支持。本项目中,您将了解如何构造和部署基于 Azure Web 应用的 Python 应用程序。通过使用 Azure Web 应用,让您更轻松的进行 Python 应用开发。您可以使用任何熟悉的 IDE 快速构建属于自己的 Python 应用,同时支持最新的 2.7.x 和 Python 3.x 版本,一键发布到 Azure Web 应用服务。Azure web 应用能根据用户的需要动态调整应用服务计划和进行横向和纵向缩放,以适应应用程序的调整和不断节约成本。

下面是关于 Python 应用的一个非常简单的架构图:

Azure 项目构建 – 部署高可用的 Python Web 应用

前期准备

1. Azure 帐号一个(登录首页,使用手机号和添加必要的个人信息就可以完成注册。分为个人版和企业版,目前针对试用账户支持 1 元人民币,就可以获得 1,500 元 Azure 服务使用额度,有效期一个月,如果想快速了解一下服务权益就戳这个链接吧:https://www.azure.cn/offers/ms-mc-azr-44p/ 基本功能都具有的)

2. 安装 Python 开发环境, 点击这里下载Python。目前的最新的版本为 Python 3.6.2 和 Python 2.7.13。具体使用哪个版本您可以*选择,如果您还在纠结选择哪个版本,请阅读 Should I use Python 2 or Python 3 for my development activity 。见到下面的信息,证明您的 Python 已经安装成功了。

Azure 项目构建 – 部署高可用的 Python Web 应用

3. 安装 Git。Git 是目前最流行的版本控制工具之一。支持 Windows,Mac,Linux 等多种平台,点击下载。 因为我们的样例代码都存储在 GitHub 上,需要您在本地安装 Git 来下载,上传代码。安装完成后可以用下面的命令来验证是否成功:git--help

Azure 项目构建 – 部署高可用的 Python Web 应用

4. 安装 Azure CLI,本教程中我们使用的是 Mac 操作系统进行安装,安装步骤为:

1) 使用一个 curl 命令安装 Azure CLI 2.0,在 terminal 中输入:

    curl -L https://aka.ms/InstallAzureCli|bash

2) 可能需要重新启动命令外壳,某些更改才会生效。在 terminal 中输入:exec-l$SHELL

3) 当你在命令行 terminal 里面输入 az 有正常的 Azure 信息显示成功时证明你已经安装成功了

Azure 项目构建 – 部署高可用的 Python Web 应用

实现步骤一:创建 Web 应用

登录 Azure

现在,我们将在终端窗口中使用 Azure CLI 2.0 创建所需的资源用于在 Azure 中托管该 Python 应用。使用 az login 命令登录到 Azure 订阅,并按照屏幕上的说明进行操作。

Azure CLI 运行:az login

注意:
在 Azure 中国区使用 Azure CLI 2.0 之前,请先运行 az cloud set -n AzureChinaCloud 来改变云环境。
如果想切回国际版 Azure,请再次运行 az cloud set -n AzureCloud。

Azure 项目构建 – 部署高可用的 Python Web 应用

配置部署用户

对于 FTP 和本地 Git 部署,需在服务器上配置一个部署用户,用于对部署进行身份验证。创建部署用户是一次性的配置。请记下用户名和密码,因为要在下面的步骤中用到。

使用 az webapp deployment user set 命令创建帐户级别的凭据。

  az webapp deployment user set --user-name <username> --password <password>

Azure 项目构建 – 部署高可用的 Python Web 应用

创建资源组

使用 az group create 创建资源组。Azure 资源组是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。

  az group create --name myResourceGroup --location chinanorth

Azure 项目构建 – 部署高可用的 Python Web 应用

创建 Azure 应用服务

使用 az appservice plan create 命令创建基于 Linux 的应用服务计划。

    注意:
    应用服务计划表示用于托管应用的物理资源集合。分配到应用服务计划的所有应用程序将共享该计划定义的资源,在托管多个应用时可以节省成本。

应用服务计划定义:

区域(中国北部、中国东部)。
实例大小(小、中、大)。
规模计数(一个、两个、三个实例,等等)。
SKU(免费、共享、基本、标准、高级)。

以下示例我们先来创建一个免费的服务计划 quickStartPlan

  az appservice plan create --name quickStartPlan --resource-group myResourceGroup --sku FREE

创建应用服务计划后,Azure CLI 将显示类似于以下示例的信息。

Azure 项目构建 – 部署高可用的 Python Web 应用

创建 Web 应用

创建应用服务计划后,请在 quickStartPlan 应用服务计划中创建 Web 应用。该 Web 应用提供托管空间用于部署代码,并提供一个 URL 用于查看已部署的应用程序。使用 az webapp create 命令创建该 Web 应用。

在以下命令中,请将出现的占位符替换为你自己的唯一应用名称。将用作 Web 应用的默认 DNS 站点,因此,该名称需要在 Azure 中的所有应用之间保持唯一(如果不唯一, 将会收到 “Website with given name already exists” 错误)。稍后,可以先将任何自定义 DNS 条目映射到 Web 应用,然后向用户公开该条目。

  az webapp create --name <app_name> --resource-group myResourceGroup --plan quickStartPlan

创建 Web 应用后,Azure CLI 将显示类似于以下示例的信息。

Azure 项目构建 – 部署高可用的 Python Web 应用

浏览到该站点查看新建的 Web 应用。

http://<app_name>.chinacloudsites.cn

Azure 项目构建 – 部署高可用的 Python Web 应用

现在,我们已在 Azure 中创建一个空的新 Web 应用。接下来,将 Web 应用配置为使用 Python 并将其部署到 Python 中。同样您也可以从管理门户中查看:

Azure 项目构建 – 部署高可用的 Python Web 应用

实现步骤二:将 Python 应用部署到应用服务

配置为使用 Python

使用 az webapp config update 命令将 Web 应用配置为使用 Python 版本 3.x (请使用 python--help 命令自行查看目前安装的版本)。

注意:

以这种方式设置 Python 版本会使用平台提供的默认容器。如果你想要使用自己的容器,请参阅 az webapp config container update 命令的 CLI 参考文章。

  az webapp config update --name <app_name> --resource-group myResourceGroup

同时也可以使用 az webapp config set 命令来设置相应的版本,例如 3.4

Azure 项目构建 – 部署高可用的 Python Web 应用

配置本地 Git 部署

可以通过不同的方法部署到 Web 应用,包括 FTP、本地 Git,以及 GitHub、Visual Studio Team Services 和 Bitbucket。

使用 az webapp deployment config-local-git 命令配置对 Web 应用的本地 Git 访问。

  az webapp deployment config-local-git --name <app_name> --resource-group myResourceGroup --query url --output tsv

复制终端的输出,因为下一步骤将要用到。

  https://JackMan@jackpython.scm.chinacloudsites.cn/jackPython.git

从 Git 推送到 Azure

将 Azure 远程功能添加到本地 Git 存储库。

  git remote add azure <paste-previous-command-output-here>

推送到 Azure 远程功能以部署应用程序。 系统将提示你输入前面在创建部署用户期间提供的密码。

  git push azure master

在部署期间,Azure 应用服务会向 Git 告知其进度。

Azure 项目构建 – 部署高可用的 Python Web 应用

浏览到应用

使用 Web 浏览器浏览到已部署的应用程序。

http://<app_name>.chinacloudsites.cn

此时,显示 Hello World 消息的页面正在使用作为 Azure 应用服务 Web 应用运行的 Python 代码运行。

更新和部署代码

使用本地文本编辑器打开 Python 应用中的 main.py 文件,然后对 echo 旁边的字符串中的文本稍微进行更改, 当然你也可以增加更多的逻辑或者直接 push 上来其他的网站样例。

  echo "Hello Azure, this is my python sample!";

提交在 git 中所做的更改,然后将代码更改推送到 Azure。

  git commit -am "updated output"
  git push azure master

完成部署后,切换回在“浏览到应用步骤”中打开的浏览器窗口,然后点击“刷新”。

Azure 项目构建 – 部署高可用的 Python Web 应用

管理新 Azure Web 应用

转到 Azure 门户,查看刚刚创建的 Web 应用。

为此,请登录到 Azure 门户(https://portal.azure.cn)

从左侧菜单中单击“应用服务”,然后单击 Azure Web 应用的名称。

Azure 项目构建 – 部署高可用的 Python Web 应用

现已进入 Web 应用的_边栏选项卡_(水平打开的门户页)。

默认情况下,Web 应用的边栏选项卡显示“概述”页。 在此页中可以查看应用的运行状况。 在此处还可以执行基本的管理任务,例如浏览、停止、启动、重新启动和删除。 边栏选项卡左侧的选项卡显示可以打开的不同配置页。

Azure 项目构建 – 部署高可用的 Python Web 应用

边栏选项卡中的这些选项卡显示了可添加到 Web 应用的许多强大功能。 以下列表只是列出了一部分可用的功能:

  • 映射自定义 DNS 名称
  • 绑定自定义 SSL 证书
  • 配置持续部署
  • 扩展和缩减
  • 添加用户身份验证

祝贺你!现已将第一个 Python 应用部署到应用服务。

实现步骤三:增加系统可用性

...

更多内容 请点击千万查看 大千世界在等着你

欢迎有兴趣的朋友多多交流

A究院研究生 Azurecommunity@qq.com