当前位置: 首页 > 科技观察

如何使用微软提供的免费应用服务搭建Python网站?

时间:2023-03-15 21:00:34 科技观察

有时候,我们用Flask或者Django写了一个简单的网页,想部署给大家使用,但是没有服务器。这时候,除了购买云服务,我们还可以使用微软Azure提供的免费应用服务进行部署。首先,我们使用Flask写了一个非常简单的后端接口,如下图所示:现在,我不想买服务器,而是想部署在网上。这时候我们就可以使用Azure的应用服务功能了。首先我们申请一个Azure账号。Azure的官方网站是:MicrosoftAzure[1]。我们只需要像普通网站一样注册一个账号。Azure注册后,您将获得12个月的免费云服务器,如下图所示。您可以将此服务器用于许多事情。但是我们今天不用这个云服务器。拥有Azure帐户后,我们需要安装一个名为Azure-cli的东西。Azure-cli的安装说明请参考:安装AzureCLI|微软文档[2]。在此处查看适用于您的操作系统的安装说明。我以macOS为例,使用Homebrew安装:brewinstallazure-cli安装完成后,我们需要使用azure-cli登录账号,输入:??azlogin此时会弹出一个网页,登录in到刚刚在网页上注册的账号,完成登录。登录完成后,网页显示如下内容:终端窗口如下图所示:接下来开始部署。首先在终端进入我们刚刚创建的Flask项目的根目录,确认有两个文件:requirements.txt和app.py。其中requirements.txt可以通过以下命令导出:pipfreeze>requirements.txt这时候就体现了创建虚拟环境的重要性。有了虚拟环境,只会导出本项目需要的第三方库,不导出不相关的库。而app.py是网站的入口程序,也就是我们设置FLASK_APP环境变量指向的程序。这两件事都准备好之后,我们只需要执行下面的命令:azwebappup--skuF1--namekingname其中,参数--skuF1是必须要有的,说明采用了免费定价策略。如果您不添加此参数,那么Azure会将您的网站部署到收费策略中。而--namekingname表示你的项目名称就叫kingname。整个部署过程大约需要2分钟。运行效果如下图所示:现在,我们访问:http://kingname.azurewebsites.net可以看到新部署的网站:接下来,我们需要更新后台代码:更改代码,要重新部署届时你只需再次执行:azwebappup即可轻松更新网站程序。如下图所示:Azure的应用服务原生支持直接部署Django和Flask网站。如果你使用的是其他后端框架,或者你的程序不是网站,而是一个长时间运行的普通Python脚本,没关系,AppService也提供了指定启动命令的功能。具体操作可以阅读其官方文档:ConfiguringLinuxPythonApplications-AzureAppService|微软文档[3]。也可以点击左下角的“阅读原文”,直接打开AzureAppService的帮助文档。参考资料[1]MicrosoftAzure:https://portal.azure.com/[2]安装AzureCLI|微软文档:https://docs.microsoft.com/zh-cn/cli/azure/install-azure-cli?WT.mc_id=DT-MVP-5003916[3]配置LinuxPython应用程序-AzureAppService|微软文档:https://docs.microsoft.com/zh-cn/azure/app-service/configure-language-python#customize-startup-command?WT.mc_id=DT-MVP-5003916本文转载自微信公众号「UnheardCode」,可以通过以下二维码关注。转载本文请联系UnheardCode公众号。