Приложение Hosting Flask (Python) выдает ошибку CGI - PullRequest
0 голосов
/ 10 января 2019

Я выполнил все шаги в соответствии с лазурным веб-сайтом. Я вижу версию Python 3.6, работающую на Azure. Я установил расширение Python 3.6 и добавил правильный файл web.config. Когда я пытаюсь открыть свой URL, я получаю сообщение об ошибке ниже

http://myuniqueappname114.azurewebsites.net/

enter image description here

Любая идея, как исправить эту ошибку, пожалуйста,

1 Ответ

0 голосов
/ 11 января 2019

Как правило, проблема была вызвана тем, что файл web.config был настроен неправильно, чтобы не запускать приложение фляги из IIS.

Вот мой пример развертывания приложения фляги Hello World на веб-сайте Azure, к которому можно обратиться, чтобы проверить правильность развертывания.

  1. Я установил расширение Python python364x86 в D:\home. Может быть, ваш установлен python364x64.
  2. Я повелел pip install flask по пути D:\home\python364x86 через консоль Kudo.
  3. Моя файловая структура в wwwroot, как показано на рисунке ниже с помощью команды tree /F /A. enter image description here
  4. Содержимое файла __init__.py похоже на официальную демонстрацию Flask Hello.

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
    
  5. Содержимое моего web.config файла указано ниже, обратите внимание python364x86 Я использовал здесь свойство scriptProcessor тега system.webServer > handles > add.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <appSettings>
        <add key="PYTHONPATH" value="D:\home\site\wwwroot" />
        <add key="WSGI_HANDLER" value="myflask.app" />
      </appSettings>
      <system.webServer>
        <handlers>
            <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\python364x86\python.exe|D:\home\python364x86\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
        </handlers>
      </system.webServer>
    </configuration>
    

Тогда демо-приложение работает. enter image description here

Если ваше дело отличается от моего, пожалуйста, опубликуйте содержимое файла web.config и другую необходимую информацию, чтобы решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...