前面我已经介绍了如何快速在VPS上搭建lnmp环境,并介绍了如何做好VPS的安全工作,现在我们就可以开始把数据从一个VPS同步到另一个VPS来,这样就能完成平滑的VPS搬家。

VPS 搬家

因为我使用的是wordpress系统,所以主要针对wordpress系统来介绍数据同步。VPS上的数据有,整个网站文件夹,数据库数据,服务器相关配置文件,一些必要脚本等等。

把这些数据文件清单列好,以免漏掉备份,然后安装Dropbox,为什么要安装Dropbox?因为如果手动下载文件并上传到新的VPS,会浪费很多时间,因为下载带宽受到我们的运营商的限制,即使是4M的带宽,下载个好几G的网站数据也要不少时间,上传的时候可能会更慢。而使用Dropbox的时候,可以保证使用更大的带宽,因为都是国外的服务器带宽很给力,同步很快就能完成。

Dropbox的安装和运行可以参考此文,其中定时备份脚本可以忽略不看,我们只要在旧的VPS上安装完Dropbox并把同步目录绑定到Dropbox上,之后,修改域名的DNS,暂停解析,(这样能防止在同步过程中产生新的数据却没有同步到新的VPS上去)把需要同步的文件夹,文件,等等数据都拷到那个绑定目录里去就行。

在新的VPS端,安装好Dropbox,并运行,很快数据就是同步到这个新的VPS里面来。数据库文件不建议用Dropbox来同步,而是使用phpMyadmin来导出和导入。一般一个wordpress的网站需要使用一个数据库,也就是wordpress配置文件中的那个数据库名,把这个数据库的数据导出成sql文件保存到本地,然后在新VPS上创建同名数据库,并把sql文件导入到这个数据库中。

通过看php探针,感觉新VPS硬盘容量已经停止减小的时候,就说明同步已经结束了,进去对比下网站目录的大小是否一致,如果不一致就看子目录下,哪些目录不一致,我在同步的过程中就发现cache目录大小不一样,但影响不大就没做处理。

然后把nginx的配置文件更新成和原来一样,解析域名DNS到新的VPS上来,看看有没有异常。一般情况下能正常访问页面,但还会遇到一些小问题,这些问题如何解决在下文会统一整理。

本文只介绍了数据同步的实战思路,并没有提供具体的脚本命令操作,因为是VPS搬家,相信大家对一些常用命令是熟悉的,实在忘了去网上也能搜到。