网站搬家记2:从Vultr的新泽西机房搬到硅谷机房

一直有传言美国的西海岸的机房比东部的机房要快,因为中国访问西海岸的数据中心只需要走太平洋海底光纤就可以了,不需要再经过陆路的传输。

Vultr在全球有16个数据中心,当时高性能服务器推出时,只有他们总部新泽西可以,所以没想多少就从香港的虚拟共享主机搬到他们的VPS。才用了不到半个月时间,发现他们在全美开了6个高性能VPS的机房,西部有西雅图和硅谷的机房。然后,我开了5个实例,发现IP都可以在中国访问,看来这批IP还是新鲜的,用站长工具测了他们的速度,发现硅谷的在170-180ms,西雅图在200ms左右,原来新泽西的在220ms。果断选择传言中最好的硅谷机房。

Vultr在太平洋西岸设有Los Angeles、Silicon Valley、Seattle这三个。如果网站加上Cloudflare CDN的加速后,其实这三个机房的Ping值应该是差不到15ms。我选个Ping值170几ms的硅谷IP,加上CDN后,降到了150ms左右;原来新泽西的加上CDN的也能从220ms降到180ms左右。当然,换了硅谷的机房,用SSH去连接,第一次接通的速度可以感觉快个1-3秒,而且更加稳定。

Vultr网上搬家的教程有很多,但都没有说透,而且很多是抄来抄去。这里我总结一个Vultr家换机房的步骤。

  1. 记录好原来机房VPS的密码和IP(包括V4、V6的),原来的SSH密码、数据库密码、网站后台密码都记下来,以防万一。
  2. 用快照Snapshots功能备份原来的VPS。开出可用IP的VPS,再将快照备份文件还原到新的机器。这个还原的过程还是比较长,我8GB的数据至少用了半个小时(网上有提到直接在创建VPS时用备份文件,但还原过程中,IP是Ping不通的,还原后如果IP不通就浪费了一次时间)。
  3. 按照官方的教程修改IPv6地址,这个教程提到几个文件如果有旧的V4和V6地址都改成新的地址和网段。另外,/etc下iptables、ip6tables的防火墙配置文件中也有原来的地址,也一起改掉。最后用grep命令在Linux放文件的目录下查旧IP的字符串,以防有漏。
  4. 如果用运维面板的重装一下面板。我用的Appnode面试打开时就出现了错误。按照官方的帮助文件重装了服务端和受控端。
  5. 配置nginx.conf文件,用面板打开源文件。按自己原来的域名设置修改文件。当中我还会增加IPv6的访问,重新生成SSL证书,同时,也升级php到7.3版本。VPS装的是Wordpress的源码,基本所有的配置文件都不用调。如果你服务器的代码不绑定IP,应该什么也不用调整。
  6. 最后将DNS的A记录指向新的IP,AAAA记录指向新的IPv6(过程中,我建了个new.articuly.com的A记录指向新IP,访问不了,后来才想到要在nginx.conf增加域名的设置才可以)。

因为是第一次操作整机搬迁,所以还是比较小心谨慎,每次操作可能都会影响很大。第一步,如果以前就记录密码好,就可以略过;第四步,如果不用面板,也可以略过;第五步,是受面板影响而产生的操作,加上自己想升级网站运行环境,才会麻烦,下次应该也就不用了。所以,最简单的流程可以精简为第二、三、六步,这几步才是必要的。这几步对于其它服务商的VPS快照搬迁法也应该适用。

如果Vultr家的高性能VPS在日本、新加坡的机房上架,那我一定会考虑再搬一次。毕竟最早用新加坡的机房,当然我要开到可用的IP,而且它的Ping在150ms以下才算升级搬家。