首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 2012上的烧瓶、wfastcgi和IIS

Windows 2012上的烧瓶、wfastcgi和IIS
EN

Stack Overflow用户
提问于 2018-03-23 01:31:24
回答 2查看 12.8K关注 0票数 2

我正试图在Windows Server 2012上的IIS上部署一个烧瓶服务。为了达到这一点:

  1. pip安装了烧瓶(PythonVersion2.7和3已经安装了)。
  2. pip已安装
  3. Ran wfastcgi启用
  4. 在IIS下建立了一个新站点
  5. 添加了一个wfastcgi的处理程序
  6. 改性Web.config

从localhost运行将返回我期望的输出。但是,当我从站点名访问网站时,将返回以下错误(省略路径):

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

Traceback (most recent call last):
  File "wfastcgi.py", line 791, in main
    env, handler = read_wsgi_handler(response.physical_path)
  File "wfastcgi.py", line 633, in read_wsgi_handler
    handler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
  File "wfastcgi.py", line 586, in get_wsgi_handler
    raise Exception('WSGI_HANDLER env var must be set')
Exception: WSGI_HANDLER env var must be set

无论是在服务器上还是在域上的另一台计算机上,都是如此。似乎当应用程序从本地主机以外的任何地方被请求时,环境是无法访问的。任何东西都不会写到wfastcgi日志中。

我在下面包括了app.pyWeb.config。这里我省略了scriptProcessor路径,但是它被设置为从wfastcgi enable返回的值。

从本地主机运行时,环境是可用的。如何使应用程序在本地主机之外被调用时环境可用?

app.py

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

@myapp.route("/hello") 
def hello():
  return "Hello from flask!"

if __name__ == "__main__":        
  myapp.run(port=8080)

Web.config

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings>
        <add key="WSGI_HANDLER" value="app.myapp" />
        <add key="PYTHONPATH" value="c:/inetpub/wwwroot/flask-services/" />
        <add key="WSGI_LOG" value="C:/TMP/logs/app.log" />
    </appSettings>
    <system.webServer>
        <handlers>
            <add name="python-wfastcgi" path="*" verb="*" modules="FastCgiModule" scriptProcessor="[Omitted]" resourceType="Unspecified" requireAccess="Script" />
        </handlers>
    </system.webServer>
</configuration>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-16 14:57:56

我们最近在IIS 7、Flask 0.12和Python3.6.4上也遇到了类似的问题。你的web.config看起来不错。两项建议:

  1. 使用virtualenv作为脚本处理器。它避免了使用系统级Python安装的副作用。以这种方式进行调试比较容易。
  2. 在IIS中反复检查IIS_IUSRS和IUSR是否对您的Python中的文件夹具有修改权限。
票数 7
EN

Stack Overflow用户

发布于 2021-10-14 09:56:19

我在web.config中添加了同样的错误

代码语言:javascript
复制
<appSettings>
        <!-- Required Settings -->
        <add key="WSGI_HANDLER" value="uploader.wsgi.application" />
        <add key="WSGI_LOG" value="C:\call-uploader-backend\Logs\my_app.log" />

        <add key="PYTHONPATH" value="C:\call-uploader-backend\uploader\" />

        <!-- Optional settings -->
        <add key="DJANGO_SETTINGS_MODULE" value="uploader.settings" />

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

https://stackoverflow.com/questions/49441038

复制
相关文章

相似问题

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