使用Visual Studio在Azure上部署python flask项目

时间:2018-07-24 20:45:50

标签: python azure deployment

我在将Py项目部署到Azure时遇到了一些麻烦。 我收到的消息是 “由于发生内部服务器错误,因此无法显示该页面。”

我知道这是项目中的配置错误。 我的web.config文件具有以下内容。

Python安装在我的azure Web服务中的D中以及我的本地计算机中的C中 运行Py2.7

Appname是白板

本地主机上的端口5965 ...

我在做什么错? MS文档没有帮助

<configuration>
    <appSettings>
    <add key="WSGI_HANDLER" value="whiteboard.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\Python27\python.exe|D:\home\Python27\wfastcgi.py"
        resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
    <httpPlatform processPath="C:\Python27\python.exe"
    arguments="F:\FYP-Whiteboard\Whiteboard\whiteboard\runserver.py %HTTP_PLATFORM_PORT%5"
    stdoutLogEnabled="true"
    stdoutLogFile="F:\FYP-Whiteboard\Whiteboard\whiteboard\LogFiles\python.log"
    startupTimeLimit="60"
    processesPerApplication="16">
    <environmentVariables>
        <environmentVariable name="SERVER_PORT" value="5965" />
        <environmentVariable name="PYTHONPATH" value="D:\home\site\wwwroot" />
        <environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" />
    </environmentVariables>
    </httpPlatform>
    </system.webServer>
    </configuration>

1 个答案:

答案 0 :(得分:0)

根据我的经验,您的问题是由web.config中的软件包丢失或路由错误引起的。(或者您可以在wfastcgi.log中找到登录)我确实测试成功,请参考我的工作步骤:

您在Managing Python on Azure App Service中发现,Azure App Service为您提供了site extension。您可以在KUDU console上安装软件包。

第1步:创建一个Azure Web应用并添加扩展程序(这里是Python 3.6.4 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\Python364x64\python.exe|D:\home\Python364x64\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}}安装点子工具。

enter image description here

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

安装所需的任何软件包

enter image description here

希望它对您有帮助。有任何问题,请告诉我。