我正在运行4-5个网站服务器,现在,当更新来到网站,我登录到FTP管理器为每台服务器手动更新,这真的令人厌烦,如果有一周内有一堆更新。有更好的方法吗?我肯定有,但不太确定我在找什么。
我想到了一个共享大容量存储,但我的服务器不共享同一个网络,所以我不确定它是否能工作,也许是池存储。想想也许是CDN,但话说回来,这似乎也不是正确的答案。我曾经尝试过每天做一个预定的github拉,但是再次如果有大量的更新,就必须在每个服务器上触发它。
所以我手握着帽子寻求帮助。
我正在和Apache一起运行Ubuntu。
谢谢
发布于 2022-07-21 11:21:59
有很多解决办法。
一种是编写FTP脚本,将其推送到所有服务器--这并不困难,实际上,如果您手动登录到每台服务器上,您就会出错--这类事情会导致脚本编写。
您最好完全放弃FTP (它的缓慢、不安全和可怕的协议),代之以rsync 通过ssh。要做到这一点,您需要设置ssh,以便能够使用公共私钥到达每个框-因此不需要密码,然后配置rsync以复制所有更改)。这可能是下一步要采取的“正确”步骤。
另一种方法可能是使用Nextcloud (或Dropbox或Googledrive或其他什么),将数据推到云端,并配置每个服务器来同步来自该源的数据。
更复杂的是,另一种方法可能是重新设计存储后端。有很多方法可以做到这一点,取决于你的需要。在所有系统上安装一个单一的公共源是一种简单的方法,它可以实现使用NFS,但是会遇到单点故障,并且可能会出现速度问题,这取决于服务器之间的延迟。使用像砂糖这样的东西要复杂得多,但可以摆脱单一的故障点。
当然还有其他的方法,比如木偶、厨师、@PatrickMevzek提到的ansible --但这些方法更适合于大规模部署和实现部署自动化--这些工具非常有价值,可以用于这项工作,但并不完全符合您的要求。类似的库伯奈特和码头集装箱。
https://webmasters.stackexchange.com/questions/139939
复制相似问题