0

我想部署一个当前正在运行的网站(php、python、ROR 等等)。
我的代码托管在 git 中。
我读到“使用 git 部署您的网站更改”

stackoverflow答案

它很有用。但它有一个问题。它会中断生产服务器。
虽然时间很短。但是如果我们的服务器负载很重。它也会打断用户。

所以我的问题是如何在不中断的情况下将代码部署到生产服务器。
假设几种情况。

  1. 只有一台生产服务器。
    是否唯一可行的方法是停止生产服务器并等待部署完成?

  2. 超过两台生产服务器。
    我知道我们可以停止一个生产服务器并部署到它,然后部署到下一个服务器直到完成。
    但是有什么方法可以更好地做到这一点吗?

所有的方法都应该是自动的。谢谢!

4

2 回答 2

0

您无法直接部署到实时生产服务器,而不会在重新加载时中断某些连接。这实际上取决于网站的类型。如果它的服务器正在服务 php 页面,则替换页面将允许下一个客户端获取它们。但是,如果部署意味着重新启动进程,那么它将中断。最终,除非它的静态页面,否则您肯定会与某些事情发生冲突。

也许您可以做的是在代理后面有两个生产服务器。活一个。部署到另一个并在部署完成后切换 ip/host,然后开始向新更新的服务器发送新流量。原始服务器现在没有接收流量。您可以下次部署到该服务器并将主机切换回代理。然后你总是有一个实时服务器。

于 2012-04-24T06:08:05.243 回答
0

我找到了一个几乎可以解决我的问题的工具。
它由名为WePloy的 PHP 作者 Rasmus Lerdorf 开发。
但它只能部署 PHP 网站。

于 2012-04-25T08:14:33.487 回答