我想在 Windows 10 IIS 服务器上托管我的 Python Rest API。
首先,我尝试托管一个示例应用程序,但无法做到这一点。
my_app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello IIS from Flask framework.'
@app.route('/Hello')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
网络配置
<configuration>
<system.webServer>
<handlers>
<add name="Python FastCGI"
path="*"
verb="*"
modules="FastCgiModule"
scriptProcessor="C:\Program Files\Python39\python.exe|C:\Program Files\Python39\lib\site-packages\wfastcgi.py"
resourceType="Unspecified"
requireAccess="Script" />
</handlers>
</system.webServer>
<appSettings>
<add key="WSGI_HANDLER" value="my_app.app" /> <!-- {name_of_file}.{name_of_flask_app}-->
<add key="PYTHONPATH" value="C:\inetpub\wwwroot\test" />
<add key="WSGI_LOG" value="C:\inetpub\wwwroot\test\app.log" />
</appSettings>
</configuration>
我已经尝试过以下教程,但它对我不起作用。
-
https://medium.com/@rajesh.r6r/deploying-a-python-flask-rest-api-on-iis-d8d9ebf886e9 https://medium.com/@rajesh.r6r/deploying-a-python-flask-rest-api-on-iis-d8d9ebf886e9
-
HTTP 错误 500.0 - 内部服务器错误:请参阅错误屏幕截图 https://i.stack.imgur.com/ocPac.png
我需要帮助...谢谢
如果你想要IIS托管python应用程序,你需要安装python,然后你需要在IIS中添加模块映射。步骤如下:
-
首先在你的电脑上安装python。
-
启用 CGI:
安装成功后,您将看到“ISAPI 和 CGI 限制”和处理程序映射:
- 进入“ISAPI 和 CGI 限制”,添加新的 ISAPI 或 CGI 限制:
- 进入“Handler Mappings”,然后添加Module Mapping(需要添加%S %S否则会报错):
最后我们就可以成功访问python应用程序了:
UPDATE:
你能在处理程序映射中看到 python 吗?
这是我的 web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
</configuration>
web.config 中没有任何内容。我的所有设置都是针对整个 IIS 的:
点击“目录浏览”:
启用它:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)