在Azure上的Django应用程序托管

时间:2018-05-17 12:52:23

标签: django azure azure-web-sites

我创建了一个Django示例应用,并希望将其作为Azure应用服务托管。我已经关注了一些文章,但没有与任何人取得成功。有没有一步一步的文档可以这样做,还是有人可以帮我解决这个问题?

我在Azure上创建了一个应用服务 用ftp连接它 在wwwroot中有一个名为hostingstart.html的文件 我已将示例应用程序复制到wwwroot文件夹中,但无法浏览应用程序,显示默认页面的azure应用程序链接

1 个答案:

答案 0 :(得分:1)

请参阅我的工作步骤并检查您是否遗漏了某些内容。

第1步: 按照official tutorial创建您的azure python网络应用。

第2步: 添加Python扩展程序。

enter image description here

第3步: 添加web.config文件并部署您的网络应用。

<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="<your project name>.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\python361x64\python.exe|D:\home\python361x64\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>

第4步: pip plugin安装python extension environment

第5步: 安装django模块以及您要使用的其他模块。

以上两个步骤请参考我之前的案例:pyodbc on Azure

希望它对你有所帮助。