在Windows Server 2008R2上将Flask应用程序部署到IIS 7.5 - 404错误

时间:2017-08-09 08:18:32

标签: python iis flask wsgi

我已经按照几个不同的指南介绍了如何在Windows Server 2008R2上将Flask应用程序部署到IIS,但主要是这个http://netdot.co/2015/03/09/flask-on-iis/。我可能错过了一些小细节,希望你能帮助我。导航到localhost / PythonTest时,请获取以下 404 Not Found 错误消息:"在服务器上找不到请求的URL。如果您手动输入了URL,请检查您的拼写,然后重试。"

这是Flask应用程序的文件夹结构

  • web应用\ PythonTest
    • app.py
    • 的web.config
    • wfastcgi.py

app.py

from flask import Flask
app = Flask(__name__)

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

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

的web.config

<configuration>
    <system.webServer>
        <handlers>
            <add name="PythonTestHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\PythonEnvironments\Python36\python.exe|C:\webapps\PythonTest\wfastcgi.py" resourceType="Unspecified" />
        </handlers>
    </system.webServer>
</configuration>

wfastcgi.py - 运行

后从已安装的目录中复制/粘贴
pip install wfastcgi

在IIS中,我创建了一个名为PythonTest的新网站,并将其映射到webapps \ PythonTest文件夹。我使用Web平台安装程序在IIS中安装了wFastCGI。在创建的网站中,我添加了一个名为PythonTestHandler的处理程序映射,其中包含:
请求路径= *
Module = FastCgiModule
可执行文件(可选)= C:\ PythonEnvironments \ Python36 \ python.exe | C:\ webapps \ PythonTest \ wfastcgi.py

我还确保取消选中请求限制中的复选框。

在Web服务器的FastCgiSetting中,在上述步骤中添加处理程序后,会创建一个条目。完整路径指向python.exe和wfastcgi.py文件的参数,如上所述。我添加了两个环境变量,一个名为PYTHONPATH,指向python.exe文件,另一个名为WSGI_HANDLER,值为app.app。

非常欢迎任何有关如何找到问题的建议。

编辑1

我已经给了IUSR,IIS_IUSR,LOCAL SERVICE和NETWORK SERVICE读取,优先和列表访问webapps \ PythonTest文件夹和PythonEnvironments \ Python36文件夹。

0 个答案:

没有答案