我有一个高流量的基于 PHP 的网站,有 2 个 Web 服务器位于负载平衡器下。当我想对网站进行更改时,我只能通过 FTP 访问来更改 2 个服务器上的文件。这一点永远不会改变。
目前,我仅将我更改过的文件上传到每台服务器。有时这会涉及许多文件,而且在两个服务器上以及许多文件夹中有许多不同的文件会非常令人困惑。这里很可能会出现人为错误,我会忘记上传文件,从而导致服务器之间的差异。我的所有更改都是在本地完成的,并在 svn 下进行版本控制。我在 Eclipse 中进行更改(因为我也将其用于 Java 开发)
我还希望尽量减少发布期间的停机时间。有人能推荐自动化此过程的最佳实践吗?
答案1
逐步实现自动化。首先,我建议您编写一个简单的脚本,用于执行您在更改网站时执行的操作。每个服务器一个脚本就可以了。然后逐步更改并采用该脚本。
答案2
很久以前,我编写了一个用于通过 FTP 同步文件的 perl 脚本:推送站点(链接的页面还列出了当时可用的其他可执行类似工作的软件)。
有基于 Web 的文件管理器可用,但我不知道有任何一个可以处理发布到多个服务器。即使这是可行的,您也需要非常小心如何实现通过 HTTP 自动传输源文件的机制。