我正在使用 python 3.8 版和 IIS 7.0。当我尝试在 IIS 服务器上托管我的 python web api 时,它遇到了 FastCGI 错误。我在 IIS 中启用了 CGI,并在我的 web 配置中添加了 System.WebServer>>handlers>>Python FastCGI,但它仍然给出了同样的错误。我还检查了 wfastcgi 和烧瓶也成功添加。
问问题
2103 次
2 回答
0
您必须将两个参数放在双引号中,并用|
例如分隔
"c:\python39\python.exe" | "c:\python39\Lib\site-packages\wfastcgi.py"
""
或粘贴后将整个路径放入。
于 2021-06-14T10:39:40.530 回答
0
按照以下步骤在 iis 中配置 iis flask 应用程序:
1)安装蟒蛇
2)安装python后安装wfastcgi。以管理员身份运行命令提示符并运行以下命令:
pip install wfastcgi
wfastcgi-enable
3)下面是我的烧瓶示例:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
app.run()
4)启用iis的cgi功能:
5)打开iis创建站点。
6)添加站点后,选择站点名称并从中间窗格中选择处理程序映射功能。
点击“添加模块映射”</p>
可执行路径值:
C:\Python37-32\python.exe|C:\Python37-32\Lib\site-packages\wfastcgi.py
单击“请求限制”。确保“仅当请求映射到时才调用处理程序:”复选框未选中:
7)现在返回并选择应用程序设置功能。
单击操作窗格中的添加。
设置 PYTHONPATH 变量(这是您的站点文件夹路径):
还有 WSGI_HANDLER(我的 Flask 应用程序名为 app.py,因此值为 app.app - 如果您的应用程序名为 site.py,则为 site.app 或类似名称):
8) 单击确定并浏览到您的站点。
注意:不要忘记将 iis_iusrs 和 iusr 权限分配给站点文件夹和 python 文件夹。
于 2020-08-17T08:34:25.750 回答