无法将Flask部署到Azure

时间:2018-06-12 11:30:46

标签: python web-services azure flask

我正在尝试将python flask部署到azure,但无法通过。我在Azure

上创建了一个api服务

以下是url的{​​{1}},它与api https://textclassifier.azurewebsites.net/

一起提供

然后我在python 3上创建了一个默认的flask项目,没有更改任何代码,我直接点击发布。选择我从门户创建的应用服务,在visual studio输出中成功发布显示:

  

添加文件(TextClassifier \ TestFlask__init __。py)。添加路径的ACL(TextClassifier)为路径添加ACL(TextClassifier)Publish Succeeded。 Web App成功发布http://textclassifier.azurewebsites.net/ ==========构建:0成功,0失败,1最新,0跳过========== === =======发布:1成功,0失败,0跳过==========

但是,当我访问网址VS时,浏览器显示:“您要查找的资源已被删除,名称已更改,或暂时无法使用”。

我检查/ home被路由到控制器

任何人都可以帮助我,我已经被困了几天。

1 个答案:

答案 0 :(得分:2)

根据我的经验,您的问题是由azure app python环境引起的。请参阅我的工作步骤,看看错误是否仍然显示。

正如您在Managing Python on Azure App Service中找到的,Azure App Service为您提供了site extension。您可以在KUDU console上安装软件包。

步骤1:创建azure web app并添加Extensions(此处为Python 3.6.1 x64)

enter image description here

第2步:发布您的flask项目并添加web.config

的web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="<Your Project Name>.app"/>
    <add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
    <add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
  </appSettings>
  <system.webServer>
    <handlers>
      <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python361x64\python.exe|D:\home\Python361x64\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
  </system.webServer>
</configuration>

步骤3:切换到Kudu CMD并命令cd Python361x64touch get-pip.py并通过编辑按钮将网址https://bootstrap.pypa.io/get-pip.py的内容复制到get-pip.py,然后运行{ {1}}安装pip工具。

enter image description here

第4步:通过python get-pip.py

安装您需要的所有软件包

enter image description here

希望它对你有所帮助。如有任何疑虑,请告诉我。