Python Flask Hosting auf einem Windows 10 IIS-Server
Ich möchte meine Python Rest-API auf einem Windows 10 IIS-Server hosten.
Zuerst habe ich versucht, eine Beispielanwendung zu hosten, kann dies aber nicht.
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>
Ich habe die folgenden Tutorials ausprobiert, aber es funktioniert bei mir nicht.
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-Fehler 500.0 - Interner Serverfehler: Siehe Fehler-Scrennshot
Ich brauche Hilfe ... Danke
Antworten
Wenn Sie eine IIS-Host-Python-Anwendung wünschen, müssen Sie Python installieren und anschließend die Modulzuordnung in IIS hinzufügen. Hier sind die Schritte:
Installieren Sie zuerst Python auf Ihrem Computer.
CGI aktivieren:

Nach erfolgreicher Installation werden "ISAPI- und CGI-Einschränkungen" und Handler-Zuordnungen angezeigt:

- Geben Sie "ISAPI- und CGI-Einschränkungen" ein und fügen Sie neue ISAPI- oder CGI-Einschränkungen hinzu:

- Geben Sie "Handler-Zuordnungen" ein und fügen Sie dann die Modulzuordnung hinzu (% S% S muss hinzugefügt werden, sonst wird ein Fehler gemeldet):

Endlich können wir erfolgreich auf die Python-Anwendung zugreifen:

AKTUALISIEREN:
Können Sie Python in Ihren Handler-Zuordnungen sehen?

Dies ist meine web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
</configuration>
In web.config ist nichts. Alle meine Einstellungen gelten für den gesamten IIS:

Klicken Sie auf "Verzeichnis durchsuchen":

Aktivieren Sie es:
