我想部署一个当前正在运行的网站(php,python,ROR等等) 我的代码是用git托管的 我读到了'deploy your website changes using git
它很有用。但它有一个问题。它会中断生产服务器 虽然时间很短。但如果我们的服务器负载很重。它还会中断用户。
所以我的问题是如何在不中断的情况下将代码部署到生产服务器 假设有几种情况。
只有一台生产服务器 唯一可行的方法是停止生产服务器并等待部署完成吗?
两台以上的生产服务器 我知道我们可以停止一个生产服务器并部署到它,然后部署到下一个服务器直到完成 但有没有更好的方法呢?
所有方法都应该是自动的。谢谢!
答案 0 :(得分:0)
您无法直接部署到实时生产服务器,而不会在重新加载时中断某些连接。它实际上取决于网站的类型。如果它服务的服务器说php页面,替换页面将允许下一个客户端接收它们。但是,如果部署意味着重新启动进程,那么它将会中断。最终,除非是静态页面,否则你肯定会与我确定的东西冲突。
也许您可以做的是在代理后面有两个生产服务器。让一个人活着。部署到另一个并在部署完成时切换ip / host,然后开始向新更新的服务器发送新流量。原始服务器现在没有接收流量。您可以在下次部署到该服务器并在主机上重新切换主机。然后你总是有一个实时服务器。
答案 1 :(得分:0)
我找到了一个几乎可以解决我问题的工具 它由PHP作者Rasmus Lerdorf开发,名为WePloy 但它只能部署PHP网站。