首页 > 解决方案 > 如何在不停止和重新启动的情况下部署 Web 应用程序

问题描述

我之前将项目构建为二进制文件并将其部署到服务器。并以nohup. 但是如果我更新了我的代码并重建了我的程序。我必须先终止进程,然后更新文件并重新开始。

我的问题是:

  1. 该应用程序必须至少关闭几秒钟。
  2. 我必须手动更新文件(登录服务器,杀死进程,替换文件,然后启动它)

反正有没有热更新程序,比如PHP?我只需要通过 git(或 svn 或其他方式)将我的代码更新到服务器。然后服务器将重建应用程序并优雅地重新启动它。

标签: godowntimerolling-updates

解决方案


通常,您在反向代理(例如 Nginx 或任何其他负载均衡器)后面运行多个 Web 应用程序实例。如果几秒钟的停机时间对您来说是个问题,那么无论如何您都需要进行 HA 设置。在这样的设置中,您可以进行滚动更新,您可以在其中一个一个地替换实例。
快速谷歌搜索将让您找到如何进行部署的说明,例如:https ://www.digitalocean.com/community/tutorials/how-to-deploy-a-go-web-application-using-nginx-on-ubuntu- 18-04


推荐阅读