Как развернуть приложение Flask + Python в Windows Azure?

Недавно я разработал приложение на Flask + Python с PostgreSQL в качестве базы данных.

Как я могу загрузить свое приложение в Windwos Azure? Поддерживает ли Windows Azure Flask? Стоит ли устанавливать приложение Flask на виртуальную машину Windows Azure?

Во многих руководствах предлагается использовать Visual Studio и IPython с Django, но это не мой выбор.

Есть ли какое-нибудь руководство или учебник, чтобы начать работу?


person Man8Blue    schedule 10.03.2013    source источник


Ответы (2)


По состоянию на июль 2013 года в Azure есть шаблон Flask.

введите описание изображения здесь

Начни с этого. Клонируйте его на свой компьютер. В корне есть кое-что из IIS, а в папке FlaskApplication - привет, мир Flask. Вы можете протестировать приложение Flask на своем компьютере python __init__.py. Я не знаю, как протестировать сайт IIS локально.

Я тоже не знаю, как работают зависимости. В шаблоне есть Pip requirements.txt, а также деревья исходных текстов Flask и пары других библиотек.

Я скопировал свое приложение с Heroku в Azure. В конце концов, он заработал. Самая большая трудность заключалась в поиске и чтении журналов (вам нужно включить все журналы в диспетчере IIS, затем перейти на FTP-сайт, затем журналы находятся глубоко в каком-то странном названном XML-файле), из-за чего две незначительные проблемы заняли больше времени чем они должны решить

  1. Рабочий каталог отличается от Heroku (в корне сайта IIS, а не в корне сайта Flask)
  2. В шаблоне есть хитрый web.config, который незаметно удаляет строки запроса из запросов на получение.

Это была проблема

 <action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="false" />
person Colonel Panic    schedule 28.07.2013

Предполагая, что вы хотите создать облачную службу, самый простой способ начать - использовать Windows Azure PowerShell и новую функцию шаблона - это позволяет вам создавать настраиваемые каркасы для ваших собственных ролей. Вы должны поместить необходимую настройку ролей для установки сред выполнения Python и Flask в папку шаблона, а затем использовать Publish-AzureServiceProject для публикации в Azure.

Существует встроенная поддержка веб-ролей Django, поэтому вы можете начать с этого и внести изменения, необходимые для поддержки Flask.

Другой вариант - использовать виртуальную машину Linux, которую вы можете настроить самостоятельно через SSH. PowerShell или кроссплатформенный интерфейс командной строки здесь могут помочь, см .: http://www.windowsazure.com/en-us/develop/nodejs/tutorials/linux-virtual-machine/ для просмотра виртуальных машин.

person Mark Cowlishaw - MSFT    schedule 14.03.2013