Хостинг Python Flask на сервере IIS Windows 10
Я хочу разместить свой Python Rest API на сервере IIS Windows 10.
Сначала я попытался разместить образец приложения, но не смог.
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()
web.config
<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://www.youtube.com/watch?v=ma1UvzqF82Q&ab_channel=ShobhitWalia
Ошибка HTTP 500.0 - внутренняя ошибка сервера: см. Скриншот ошибки
Мне нужна помощь .... Спасибо
Ответы
Если вам нужно приложение python для хоста IIS, вам необходимо установить python, а затем вам нужно добавить сопоставление модулей в IIS. Вот шаги:
Сначала установите python на свой компьютер.
Включить CGI:
После успешной установки вы увидите «Ограничения ISAPI и CGI» и сопоставления обработчиков:
- Введите «Ограничения ISAPI и CGI», добавьте новые ограничения ISAPI или CGI:
- Введите «Сопоставления обработчиков», затем добавьте сопоставление модулей (необходимо добавить% S% S, иначе будет сообщено об ошибке):
Наконец, мы можем успешно получить доступ к приложению python:
ОБНОВИТЬ:
Вы видите python в своих сопоставлениях обработчиков?
Это мой web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
</configuration>
В web.config ничего нет. Все мои настройки предназначены для всего IIS:
Нажмите «Просмотр каталогов»:
Включите это: