Ошибка развертывания Flask на IIS, но с spyder работает - PullRequest
0 голосов
/ 23 марта 2020

У меня возникли проблемы с размещением веб-приложения Flask на Windows Сервере через IIS (с использованием wfastcgi).

Я прошел все шаги из нескольких учебных пособий, таких как this one .

Кажется, я не пропустил ни одного шага в этом процессе, и мой IIS выглядит следующим образом:

enter image description here

enter image description here

Код, который я пытаюсь запустить, действительно наивен, myapp.py:

from flask import Flask 
app=Flask(__name__)

# I'm using /flask_test because is the Virtual Path I'm using in the IIS application
@app.route('/flask_test',methods=['GET'])

def index():
    return "Hello World"

if __name__=='__main__':
     app.run(host='180.X.X.X',port='5005',debug=False)  #'180.x.x.x' is the public IP I'm using

Мой web.config:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration>
   <system.webServer>
   <handlers>
       <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Users\XI333981\Desktop\WinPython-64bit-3.6.3.0Qt5\python 3.6.3.amd64\python.exe|C:\Users\XI333981\Desktop\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site packages\wfastcgi-3.0.0-py3.6.egg\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
  </handlers>
<security> 
   <!-- special characters in URL rewriting, such as plus sign + and so on -->
  <requestFiltering allowDoubleEscaping="true"></requestFiltering> 
</security> 
</system.webServer>
<appSettings>
<!-- Required settings -->
<!-- specify the location of the flask app in the module -->
<add key="WSGI_HANDLER" value="myapp.app" /> 
<add key="PYTHONPATH" value="D:\Inetpub\wwwFlask\Flask3" />
<!-- Optional settings -->
<!-- you need to create a log directory first, or an error will be reported -->
<!--<add key="WSGI_RESTART_FILE_REGEX" value="" /> -->
</appSettings>
</configuration>

Когда я запускаю веб-приложение в IIS, я получаю эту ошибку:

[Служба недоступна Ошибка HTTP 503. Служба недоступна.]

Однако, когда я запускаю приложение с помощью Spyder, а затем набираю «http://180.X.X.X: 5005 / flask_test » в навигаторе, оно работает.

Что происходит?

...