首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将烧瓶应用程序部署到windows并接收wfastcgi错误

将烧瓶应用程序部署到windows并接收wfastcgi错误
EN

Stack Overflow用户
提问于 2019-02-28 18:14:37
回答 2查看 799关注 0票数 0

我一直试图部署一个网站到Azure与应用程序服务。我使用了一个requirements.txt文件来安装烧瓶和wfastcgi以及其他所需的依赖项,我也使用Python3.6。我已经设置了web.config文件,以正确启动python,并利用wfastcgi包。当我试图导航到这个站点时,我会得到这样一个wfastcgi错误。

代码语言:javascript
复制
Error occurred while reading WSGI handler:

Traceback (most recent call last):
File "D:\Python34\Scripts\wfastcgi.py", line 711, in main
env, handler = read_wsgi_handler(response.physical_path)
File "D:\Python34\Scripts\wfastcgi.py", line 568, in read_wsgi_handler
return env, get_wsgi_handler(handler_name)
File "D:\Python34\Scripts\wfastcgi.py", line 551, in get_wsgi_handler
raise ValueError('"%s" could not be imported' % handler_name)
ValueError: "D:\home\site\wwwroot\FlaskTest.app" could not be imported

我的文件存储在"D:\home\site\wwwroot“中,它的结构如下

D:\home\site\wwwroot |FlaskTest.py |web.config |requirements.txt

我的FlaskTest.py只是一个简单的快速启动酒瓶应用程序。

代码语言:javascript
复制
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
 return "Hello from FastCGI via IIS!"

if __name__ == '__main__':
    app.run()

这是我的Web.config:

代码语言:javascript
复制
<configuration>
<system.webServer>
<handlers>
   <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule"
    scriptProcessor="D:\Python34\python.exe|D:\Python34\scripts\wfastcgi.py"
    resourceType="Unspecified" requireAccess="Script"/>
</handlers>
<httpErrors errorMode="Detailed" />
</system.webServer>
<appSettings>
 <add key="PYTHONPATH" value="D:\home\site\wwwroot" />
 <add key="WSGI_HANDLER" value="D:\home\site\wwwroot\FlaskTest.app" />
 <add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
</appSettings>
</configuration>

我真的不知道WSGI_HANDLER键有什么问题。从我所读到的一切来看,这应该是可行的。我尝试将init.py添加到目录中,但仍然收到错误。出于某种原因,我可以理解Wfastcgi在导入"app“对象时遇到了困难,因为这就是我将Flask对象命名为。任何可以洒在上面的光都会很感激,因为我已经用头砸了好几天了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-28 22:37:39

从评论中抄来的。

Microsoft不赞成Windows上Azure Azure上的Python (以及底层组件(如wfastcgi) ),

https://learn.microsoft.com/en-us/visualstudio/python/publishing-python-web-applications-to-azure-from-visual-studio?view=vs-2017

因此,托管Python应用程序的唯一可行方法就是在Linux上使用apps。

票数 0
EN

Stack Overflow用户

发布于 2019-09-13 16:50:54

我知道这是超级老,但实际上我能够让这个工作在我的django应用程序与一个糟糕的工作。如果您真的进入wfastcgi文件,您可以在那里添加环境变量,您的应用程序就可以工作了。不确定这件事有多糟糕(除了明显的维护问题),但它在windows server 2016、iis 10和python 3.7上对我来说还不错。

好吧-这是最新消息.如果您在IIS上使用FASTCGI模块。您可以在特定scriptProcessor的设置中添加环境变量,这样就没有问题了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54931841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档