我很想复制我的VPS。通过建议,我得到了rsync,现在我想使用它复制我的网站,是托管在我的VPS。
情况是这样的;我每月都有一个带有直接管理许可证的VPS,并且我想将这个VPS的所有网站数据复制到我的新的VPS中。我已经在新版本上安装了CentOS7,包括所有防火墙内容。因此,它应该只是从我的现有用户复制数据库等。
我绝对不想要一个1:1的完整的VPS,有一些奇怪的软件在第一个,我想摆脱。
在我传输了所有的网站数据后,我想确保两个VPS都有相同的数据,这样我就可以分割传入的流量。
这里有很多问题:-) --包括数据库在内的所有网站数据的正确目录是什么?-如何在两个VPS之间建立同步工作流?
发布于 2019-04-25 11:34:23
复制文件相对于DB是两件不同的事情。
您可以随时复制您的网站文件,而不关闭任何服务。但对MySQL来说,这不太好。
为了rsync MySQL,您首先需要在两个服务器(源服务器和目标服务器)上停止服务。
据我所理解,您需要就MySQL服务器配置做出选择。要么设置一个Master MySQL集群,要么使用一个MySQL节点(我建议使用后一个MySQL节点,因为它更易于管理)。
MySQL服务器可以托管在您的VPS上,也可以托管在专用的VPS上。
为了将您的web应用程序配置为与MySQL对话,只需将"localhost“(如果是这样的话)更改为MySQL服务器IP (可以是本地或公共IP)。您还需要确保允许服务器IP/主机名在MySQL上接受传入的查询。
关于网站文件,rsync可以将您的网站从服务器复制到另一个服务器。但是,如果您计划使用它作为同步解决方案,它将消耗过多的IO。
您可以做的是(最简单的(1)和更复杂的(2)设计):
1a)在两个节点中的一个上创建一个NFS (可能是“主”节点)
( 1b)在第二个服务器上挂载动态目录(例如,对于wordPress,这可能是您的上载目录)
对于任何更新,您都需要找到解决方案,如rsync,甚至更好的是,代码回购(如git )。
( 2a)设置一个网络文件系统,如GlusterFS或Ceph,它将使用web应用程序doc根目录作为挂载点。
在两个服务器上挂载您的目录
其他的东西,没有被要求,但你要确保涵盖的是SSL配置;
通常,负载均衡器也在执行SSL卸载,负载均衡器和从服务器之间的通信也是未加密的。因此,您可能需要向您的奴隶声明,来自负载均衡器的流量应该被解释为“安全”,并在请求时使用SSL (因此您的网站将返回https:// URL,即使它是在非https端口上处理的)。
尽管如此,这并不是一个简单的设置和配置,因为您需要用客户端覆盖所有的基础(也就是说,如果客户端更改了PHP配置,则需要确保在第二个节点上也会考虑到新的配置)。
https://serverfault.com/questions/964549
复制相似问题