У меня возникли проблемы с размещением веб-приложения Flask на Windows Сервере через IIS (с использованием wfastcgi).
Я прошел все шаги из нескольких учебных пособий, таких как this one .
Кажется, я не пропустил ни одного шага в этом процессе, и мой IIS выглядит следующим образом:
Код, который я пытаюсь запустить, действительно наивен, 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 » в навигаторе, оно работает.
Что происходит?