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

时间:2013-03-10 02:46:08

标签: python web-services azure flask

我最近开发了一个使用PostgreSQL作为数据库的Flask + Python应用程序。

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

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

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

2 个答案:

答案 0 :(得分:5)

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

enter image description here

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

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

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

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

     <action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="false" />
    

答案 1 :(得分: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/  在虚拟机上浏览。