python - 在 IIS 上托管简单的 Python Flask Web 服务
问题描述
我是 python 新手,我正在按照https://medium.com/@bilalbayasut/deploying-python-web-app-flask-in-windows-server-iis-using-fastcgi-6c1873ae0ad8上给出的步骤来托管一个IIS上非常简单的python代码(在Windows Server 2012上)
以下是我遵循的实际步骤:
- 我安装了 Anaconda,还在我的服务器上安装了 Python 3.6
- 我安装了 https://pypi.org/project/wfastcgi/
- 在 IIS 上创建了一个应用程序,添加了默认应用程序池
- 添加了使用 FastCgiModule 的模块映射并将其命名为“FlaskHandler”
- 它没有在服务器级别创建 FastCgi 设置,所以我自己添加了它。注意:我不确定服务器级别的 IIS 设置是否需要 FastCgi 设置或应用程序级别的 IIS 配置中的应用程序级别(我没有看到 FastCgi 设置)。
测试.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def mylist():
my_json_string = json.dumps({'key1': 'Ram', 'key2': 'val2'})
return my_json_string
if __name__ == "__main__":
app.run()
网络配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="Python" path="*.py" verb="*" modules="CgiModule" scriptProcessor="c:\ProgramData\Anaconda3\python.exe %s %s" resourceType="File" />
<add name="FlaskHandler" path="*." verb="*" modules="FastCgiModule" scriptProcessor="C:\ProgramData\Anaconda3\python.exe|C:\inetpub\wwwroot\test\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>
</system.webServer>
</configuration>
当我在浏览器中以http://localhost/test/运行网站时,我得到了这个:
未找到 在服务器上未找到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。
解决方案
推荐阅读
- python - 使用阈值对点是否在指定区域内进行分类 - python
- python - 编译 QML 源代码以使用 PySide2 进行保护
- c# - mongodb C# 使用查找和方面进行计数
- laravel - 如何将html表格行与1个参考和多个项目结合起来?
- pandas - 在 Dask 中,如何删除未在另一列的所有值中重复的数据?
- sql - 为什么我的查询可以使用 RIGHT() 和 LEFT() 函数,但不能使用 LIKE 谓词?
- vba - 搜索表格旁边的标题样式时 Range.Find 失败
- java - 将二维数组传递给另一个类,但无法返回对象
- javascript - 正则表达式 - 没有连续的特殊字符
- opencv - 如何修复图像捕获中的 Julia OpenCV Cxx 内存泄漏?