将更新部署到Flask应用程序

问题描述 投票:3回答:1

我正在寻找高层次的洞察力,因为有人来自PHP生态系统。将更新部署到在单个服务器上运行的实时Flask应用程序(无负载平衡节点)的常见方法是什么,由一些WSGI(如Gunicorn)在Nginx后面提供服务?

具体来说,当您将更新从git存储库或rsync文件提取到服务器时,我假设这会留下一个小窗口,当应用程序的文件发生变化时,请求可以通过该窗口。

我主要部署了Laravel应用程序进行生产,所以为了防止这种情况,使用php artisan down在文件复制时抛出维护页面,并且php artisan up在完成所有操作后将网站重新启动。

什么是Flask的等价物,还是有其他方法来处理这个(Nginx配置)?

谢谢

python flask web-deployment
1个回答
0
投票

看起来Docker可能是我最好的选择:

  1. 让Nginx在主机上运行,​​应用程序在Gunicorn的容器A中运行。 Nginx将流量引导到容器A.
  2. 在开始文件同步之前,拆除容器A并启动容器B,容器B侦听同一本地端口。容器B可以是维护页面或应用程序的副本。
  3. 启动文件同步并等待它完成。完成后,拆下容器B,再次启动容器A.
© www.soinside.com 2019 - 2024. All rights reserved.