go - 如何在不停止和重新启动的情况下部署 Web 应用程序
问题描述
我之前将项目构建为二进制文件并将其部署到服务器。并以nohup
. 但是如果我更新了我的代码并重建了我的程序。我必须先终止进程,然后更新文件并重新开始。
我的问题是:
- 该应用程序必须至少关闭几秒钟。
- 我必须手动更新文件(登录服务器,杀死进程,替换文件,然后启动它)
反正有没有热更新程序,比如PHP?我只需要通过 git(或 svn 或其他方式)将我的代码更新到服务器。然后服务器将重建应用程序并优雅地重新启动它。
解决方案
通常,您在反向代理(例如 Nginx 或任何其他负载均衡器)后面运行多个 Web 应用程序实例。如果几秒钟的停机时间对您来说是个问题,那么无论如何您都需要进行 HA 设置。在这样的设置中,您可以进行滚动更新,您可以在其中一个一个地替换实例。
快速谷歌搜索将让您找到如何进行部署的说明,例如:https ://www.digitalocean.com/community/tutorials/how-to-deploy-a-go-web-application-using-nginx-on-ubuntu- 18-04
推荐阅读
- excel - 合并工作簿时如何重命名工作表?
- java - 有没有办法避免这种重复的方法调用?
- c# - 我的 .NET API 将 JSON 作为字符串返回。我如何让它返回?
- java - 如何从java中的dns数据报中提取网站名称
- google-kubernetes-engine - 服务找不到端点
- sql-server - SQL Server 2012 数据恢复
- c# - C# Bloomberg:如何遍历数组、创建仪器对象并添加到仪器类
- c# - 在 ASP.Net MVC 5 中的 Ajax 调用中来自服务器的多个响应
- c# - 请帮我为以下 SQL 查询编写 LINQ 语句
- html - 如何使我的轮播标题响应?