将WP网站从单服务器单域迁移到多服务器多域安装

时间:2021-01-10 作者:BARJ

我们目前正在美国戈达迪(GoDaddy)托管一个WordPress网站,最终需要为中国和世界其他地区的客户提供服务。

出于性能和安全原因,我们需要同时托管。中国国内的cn网站和。来自中国境外的网站(中国网和中国网的网站将完全相同)。

这个cn和。com网站必须始终同步,并可通过单个WP仪表板进行维护。

我相信WP Multisite不会在这里工作,因为当从中国境外托管时,内容仍然会被中国防火墙阻止。如果从中国境内托管,则从中国境外访问的速度会太慢。因此,需要安装多域多服务器。

我的问题是,WP是否存在这样的体系结构,以及是否存在为多域多服务器网站提供服务的常见/最佳做法?

我可以想到一个复杂的问题,数据库中存储的资源和链接包含。com域,这将使迁移到多域网站变得困难

1 个回复
SO网友:KAGG Design

在不同域上创建相同网站的最简单方法是使用插件Multiple Domain. 这允许您安装一个WP,其中一个数据库服务于两个域。

下一步是将这个数据库复制到一个中文服务器,在那里创建一个脚本,从中国以外的主服务器复制数据库和文件。它应该包含以下内容:

  echo -e "\\nSyncing database..."
  ssh -i "$KEY_FILE" "$REMOTE_DOMAIN" "cd $REMOTE_PATH > /dev/null&&/user/bin/wp db export /tmp/wp.sql > /dev/null"
  scp -i "$KEY_FILE" $REMOTE_DOMAIN:/tmp/wp.sql wp.sql
  ssh -i "$KEY_FILE" $REMOTE_DOMAIN "rm /tmp/wp.sql"
  echo -e "Done."

  echo -e "\\nImporting database..."
  wp --allow-root --quiet db import wp.sql
  echo -e "Done."

  rm wp.sql

  echo -e "\\nSyncing uploads..."
  rsync -ase "ssh -i $KEY_FILE" --exclude "*backwpup*/*" $REMOTE_DOMAIN:"$REMOTE_PATH"/wp-content/uploads/* "$LOCAL_PATH"/wp-content/uploads
  echo -e "Done."
例如,cron可以每5分钟执行一次该脚本。