Hébergement Python Flask sur le serveur Windows 10 IIS
Je souhaite héberger mon API Python Rest sur un serveur IIS Windows 10.
J'ai d'abord essayé d'héberger un exemple d'application, mais je ne peux pas le faire.
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>
J'ai essayé les didacticiels ci-dessous mais cela ne fonctionne pas pour moi.
https://medium.com/@rajesh.r6r/deploying-a-python-flask-rest-api-on-iis-d8d9ebf886e9
https://www.youtube.com/watch?v=ma1UvzqF82Q&ab_channel=ShobhitWalia
Erreur HTTP 500.0 - Erreur de serveur interne: voir le scrennshot d'erreur
J'ai besoin d'aide ... Merci
Réponses
Si vous voulez une application python hôte IIS, vous devez installer python, puis vous devez ajouter un mappage de module dans IIS. Voici les étapes:
Installez d'abord python sur votre ordinateur.
Activer CGI:

Une fois l'installation réussie, vous verrez «Restrictions ISAPI et CGI» et mappages de gestionnaires:

- Entrez "Restrictions ISAPI et CGI", ajoutez une nouvelle restriction ISAPI ou CGI:

- Entrez "Handler Mappings", puis ajoutez le module Mapping (% S% S doit être ajouté ou une erreur sera signalée):

Enfin, nous pouvons accéder avec succès à l'application python:

METTRE À JOUR:
Pouvez-vous voir python dans vos mappages de gestionnaires?

Ceci est mon web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
</configuration>
Il n'y a rien dans web.config. Tous mes paramètres concernent l'intégralité de l'IIS:

Cliquez sur "Parcourir l'annuaire":

Activez-le:
