我来自Java / Tomcat背景,想知道是否有任何类似于Tomcat Manager应用程序的内容?
我正在想象一个可用于轻松部署和取消部署基于Flask的Web应用程序的Web应用程序.我猜想类似于Tomcat的是带有基于Web的管理器的WSGI服务器.
解决方法:
不幸的是,Python / WSGI的deployment story是not quite as neat,是Java基于WAR文件的部署. (而且,尽管Python is not Java并不意味着WAR文件部署不好).因此,您没有什么可以完全满足您的期望的,但是您可以将类似的东西拼凑在一起.
首先,您需要一台能够轻松加载和卸载WSGI应用程序而无需重启服务器的Web服务器-立即想到的是uwsgi in emperor mode(这里是an example setup).
其次,您需要一种一致的方式来布局您的应用程序,以便可以拾取/生成WSGI文件.就像总是拥有一个根目录app.wsgi文件一样简单,可以将其复制到uwsgi监视的目录中即可.
第三,您需要一个脚本,该脚本可以包含一个Web应用程序文件夹/ virtualenv并将其移动/符号链接到“可用的应用程序”文件夹.您将需要另一个可以添加/符号链接,触摸(重新启动)和删除(关闭)uwsgi正在监视新容器应用程序的目录中的app.wsgi文件的程序.如果需要在多台计算机(甚至只是一台远程计算机)上运行它,则可以使用Fabric.
第四,最后,您将需要一个小的Web应用程序,使您无需使用命令行即可管理这些可用应用程序的WSGI文件.既然您花了所有时间为其构建一些基础结构,为什么不使用Flask并将其部署在其自身上以确保一切正常?
它不是预先构建的解决方案,但希望至少可以为您指明正确的方向.