【发布时间】:2020-10-19 18:01:16
【问题描述】:
我在 Python 中构建并部署了 Flask 应用程序到 Azure。我在本地测试了应用程序,一切正常。我正在使用 Kudu 在 Windows 和 Python 3.6 上进行部署。
但是,一旦应用成功部署,我只能看到默认页面:
本网站运行 Python 3.6.6
据我所见,问题出在 Kudu web.config 文件上,如下所示:
<configuration>
<appSettings>
<add key="pythonpath" value="%SystemDrive%\home\site\wwwroot" />
<add key="WSGI_HANDLER" value="hostingstart-python.application" />
</appSettings>
</configuration>
由于某种原因,它指向确实显示默认页面的hostingstart-python.application(具有.html 和.py 文件)。
我的/wwwroot 文件夹如下所示:
env
templates
.gitignore
app.py
config.py
file_manager.py
hostingstart-python.html
hostingstart-python.py
README.md
requirements.txt
web.config
我尝试了web.config 文件的各种版本,例如下面的那个,但没有任何运气。
对于WSGI_HANDLER,我输入了网络应用程序的名称,但也许必须有另一个名称?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="WSGI_HANDLER" value="UploadToolApp.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/scripts\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
</handlers>
</system.webServer>
</configuration>
结果:
由于发生内部服务器错误,页面无法显示。
【问题讨论】:
-
试试
<add key="WSGI_HANDLER" value="app.*whatever-your-app-is-called-inside-app.py*"/>例如<add key="WSGI_HANDLER" value="app.app"/>。另请注意,Azure Windows 应用服务上的 Python 支持已弃用。 -
最后我使用了 Linux,一切正常。很高兴知道,谢谢!