Python Flask应用程序管理器

时间:2013-05-06 22:14:32

标签: python flask wsgi

我来自Java / Tomcat背景,并想知道是否有任何类似于Tomcat管理器应用程序的东西?

我正在想象一个可以用来轻松部署和取消部署基于Flask的webapps的webapp。我想Tomcat的一个类比是一个带有基于Web的管理器的WSGI服务器。

1 个答案:

答案 0 :(得分:3)

不幸的是,Python / WSGI的deployment storynot quite as neat,是基于Java的WAR文件部署。 (而且,虽然Python is not Java并不意味着WAR文件部署不好)。所以你没有任何完全符合你期望的东西 - 但是你可以拼凑出类似的东西。

首先,您需要一个可以轻松加载和卸载WSGI应用程序而无需重新启动服务器的Web服务器 - 立即跳到脑海中的是uwsgi in emperor mode(这里是an example setup)。 / p>

其次,您需要以一致的方式布置应用程序,以便可以拾取/生成WSGI文件。简单到总是有一个根级app.wsgi文件可以复制到uwsgi正在观看的目录的事情就可以了。

第三,您需要一个可以获取Web应用程序文件夹/ virtualenv并将其移动/符号链接到“可用应用程序”文件夹的脚本。您需要另一个可以添加/符号链接,触摸(重新启动)和删除(关闭)app.wsgi正在监视新血管应用程序的目录中的uwsgi文件。如果您需要跨多台计算机(甚至只需一台远程计算机)运行它,您可以使用Fabric

第四,最后,您将需要一个小的Web应用程序,使您无需使用命令行即​​可管理这些可用应用程序的WSGI文件。既然你花了这么多时间为它构建一些基础设施,为什么不使用Flask并将其部署在自身上以确保一切正常?

这不是一个预先构建的解决方案,但希望这至少可以指出你正确的方向。