更新Flask应用程序的部署

2024-04-29 19:34:40 发布

您现在位置:Python中文网/ 问答频道 /正文

作为一个来自PHP生态系统的人,我在这里寻找高层次的见解。将更新部署到运行在单个服务器(无负载平衡节点)上的liveflask应用程序(由Nginx背后的Gunicorn提供服务)的常用方法是什么?在

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

我主要在生产环境中部署了Laravel应用程序,因此为了防止这种情况发生,可以使用php artisan down在文件复制时抛出一个维护页面,并使用php artisan up在完成所有操作后恢复站点。在

Flask的等价物是什么,或者有其他的处理方法(Nginx config)?在

谢谢


Tags: 文件方法git服务器应用程序节点部署nginx
1条回答
网友
1楼 · 发布于 2024-04-29 19:34:40

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

  1. 让Nginx在主机上运行,应用程序在容器A中运行,并使用Gunicorn。Nginx将流量定向到容器A
  2. 在启动文件同步之前,请先关闭容器A并启动容器B,后者在同一个本地端口上侦听。容器B可以是维护页或应用程序的副本。在
  3. 启动文件同步并等待它完成。完成后,拆下容器B,然后重新启动容器A。在

相关问题 更多 >