3

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

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

4

1 回答 1

3

不幸的是,Python / WSGI的部署故事并不像 Java 的基于 WAR 文件的部署那样简洁。(而且,虽然Python 不是 Java,但这并不意味着 WAR 文件部署不好)。所以你没有任何东西可以完全符合你的期望——但你可以拼凑出类似的东西。

首先,您需要一个能够轻松加载和卸载 WSGI 应用程序而无需重新启动服务器的 Web 服务器 - 立即想到的是uwsgi 处于帝王模式(这里是一个示例设置)。

其次,您需要一种一致的方式来布置您的应用程序,以便可以拾取/生成 WSGI 文件。像始终拥有app.wsgi可以复制到正在监视的目录的根级文件这样简单的事情就可以了uwsgi

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

第四也是最后一点,您将需要一个小型 Web 应用程序,使您能够在不使用命令行的情况下管理这些可用应用程序的 WSGI 文件。既然您刚刚花费了所有时间为它构建一些基础设施,为什么不使用Flask并将其部署在自身上以确保一切正常?

这不是预先构建的解决方案,但希望这至少可以为您指明正确的方向。

于 2013-05-07T02:19:01.170 回答