如何在Windows Azure上部署Flask + Python应用程序?

Man*_*lue 7 python web-services azure flask

我最近使用PostgreSQL作为数据库在Flask + Python中开发了一个App.

如何在Windwos Azure上传我的应用程序?Windows Azure是否支持Flask?是否值得在Windows Azure虚拟机上安装Flask应用程序?

许多教程都指示使用Visual Studio和IPython与Django,但这不是我的选择.

是否有任何指南或教程可以开始使用?

Col*_*nic 5

截至2013年7月,Azure上有一个Flask模板.

在此输入图像描述

从那开始.将其克隆到您的计算机上.根目录下有一些IIS内容,文件夹中有一个hello world Flask FlaskApplication.您可以在计算机上测试Flask应用程序python __init__.py.我不知道如何在本地测试IIS站点.

我不知道依赖关系如何工作.requirements.txt模板中有一个Pip ,还有Flask的源树和其他几个库.

我将我的应用程序从Heroku复制到Azure.最终得到了它.最大的困难是查找和读取日志(您需要打开IIS管理器中的所有日志记录,然后浏览到FTP站点,然后日志深入一些奇怪的命名xml文件),这使得两个小问题需要更长的时间他们应该解决的问题

  1. 工作目录与Heroku不同(在IIS站点根目录,而不是Flask站点根目录)
  2. 模板有一个狡猾的web.config,可以从get请求中静默删除查询字符串

这是问题所在

 <action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="false" />
Run Code Online (Sandbox Code Playgroud)


小智 4

假设您想要创建云服务,最简单的开始方法是使用 Windows Azure PowerShell 和新的模板功能 - 这允许您为自己的角色创建自定义脚手架。您可以将安装 Python 和 Flask 运行时所需的角色设置放置在模板文件夹中,然后使用 Publish-AzureServiceProject 发布到 Azure。

有对 Django Web 角色的内置支持,因此您实际上可以从那里开始并进行必要的修改以支持 Flask。

另一种选择是使用 Linux VM,您可以通过 SSH 自行设置。PowerShell 或跨平台 CLI 将在这里提供很大帮助,请参阅:http ://www.windowsazure.com/en-us/develop/nodejs/tutorials/linux-virtual-machine/ 以了解虚拟机的演练。