我正在将电子商务网站迁移到新服务器。一切顺利,是时候更改域名的 DNS 了。
这是一个比较受欢迎的网站,我担心在传播过程中订单会被拆分到旧数据库和新数据库之间。数据库确实包含依赖于其所在服务器的内容(缓存路径、上传目录等),所以我不能只将旧网站指向新数据库。
有没有什么办法可以解决这个问题并且不导致任何网站瘫痪?
提前致谢
答案1
如果不在两个站点之间进行数据库复制,您能做的最好的事情是:
a) 检查您的日志以查找活动较少的时期并将其设置为您的维护期窗口。
b) 在您的网站上发送/发布提前警告,告知您正在进行某些更改(我会提到新服务器速度更快等等,因此对停机时间有积极影响)。
c) 将您的 DNS TTL 设置为 1 小时,持续几天到一个星期(取决于您更改之前的 TTL 是多少)或者在维护窗口之前;一周是安全的。
d) 将您旧网站的主页更改为“我们已移动,等等”,并创建指向新服务器的 new.yourdomain.com A 记录,在“我们已移动”页面上放置一个指向它的链接,供那些在维护期间恰好访问该网站的用户使用,并且/或者如果他们的 DNS 已被缓存;确保您网站的数据库/代码(cookie 和会话等可以应对多个域,但应该如此)。
e) 将您的 DNS A 记录更改为新站点;在接下来的几天内将您的 TTL 改回更合理的值(3-6 小时就可以了,尽管有些人说 24 小时是“标准”)。
您还可以查看将旧服务器收到的请求(端口转发等)透明地重定向到新服务器,但我不确定您对旧托管环境有多少控制权。
答案2
您有几种选择。一种是将旧网站指向新数据库(如果可能)。另一种是移动它,并在旧网站上接收一两天的订单(如果有的话 — 如果您的 TTL 很低,那么即使有,也可能不会有太多的订单)。
但是,第三种方法是,您临时为 www2.yourdomain.com 添加一条新记录,指向新服务器。设置新服务器以监听 www. 和 www2.(而不是在它们之间重定向!),并将旧服务器重定向到 www2.yourdomain.com。几天后,一旦您确信 DNS 在所有地方都是最新的,请调整 www2 以永久重定向到 www.yourdomain.com。如果 www2 的流量相当大,我会在 www2 上提供一个 robots.txt,以使其不被搜索引擎发现。