我一直试图发布我的第一个Django网络应用程序并在过去两天遇到很多障碍,我仍然无法通过网址访问它 - 它不能用。
我已经从VS2017发布了它,从VSTS设置了持续部署,安装了Python 3.6扩展,更新了我的web.config文件,在Kudu中安装了所需的软件包,应用程序被重定向到基于云的数据库。
我在各个文档网站上写了这封信,例如:Deploy your app to Azure App Service和Managing 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
答案 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>