Azure应用服务 - 网站无法正常工作的网址

时间:2017-09-10 22:44:31

标签: python azure kudu

我一直试图发布我的第一个Django网络应用程序并在过去两天遇到很多障碍,我仍然无法通过网址访问它 - 它不能用。

我已经从VS2017发布了它,从VSTS设置了持续部署,安装了Python 3.6扩展,更新了我的web.config文件,在Kudu中安装了所需的软件包,应用程序被重定向到基于云的数据库。

我在各个文档网站上写了这封信,例如:Deploy your app to Azure App ServiceManaging Python on Azure App Service 但我仍然无法浏览我的网址 - 我正在收到一个欢迎页面,上面写着#34;您的应用服务应用已经创建了#34;和一些教程。

我错过了什么?为了让它上线,我需要做的最后阶段是什么?

回应下面的评论,我使用以下代码更新了KUDU中的web.config文件:

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
    <add key="WSGI_HANDLER" value="app.wsgi_app"/>
    <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>

尝试运行我的网址时出现内部服务器错误,当我转到Python日志文件时,收到以下消息:

D:\home\Python361x64\python.exe: can't open file 'D:\home\site\wwwroot\runserver.py': [Errno 2] No such file or directory

1 个答案:

答案 0 :(得分:0)

您似乎已经在另一个帖子How to deploy Django app on Azure?中解决了部分问题,我已经解决了这个问题并发布了我的答案。

请参阅以及completed configuration,如下所示:

<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="DjangoWebProject1.wsgi.application"/>
    <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="handler.fcgi" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\python362x86\python.exe|D:\home\python362x86\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
    <rewrite>
      <rules>
        <rule name="Static Files" stopProcessing="true">
          <conditions>
            <add input="true" pattern="false" />
          </conditions>
        </rule>
        <rule name="Configure Python" stopProcessing="true">
          <match url="(.*)" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_URI}" pattern="^/static/.*" ignoreCase="true" negate="true" />
          </conditions>
          <action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>