如何从一个VPS迁移到另一个VPS,并且更换域名。

步骤#01:新域名配置DNS服务器,配置一个A记录指向新的VPS的IP地址。

步骤#02:将旧网站的数据打包,使用宝塔的备份功能。

那么备份的文件哪里去了呢?

备份的文件分为两部分:

1:网站源文件,源代码,HTML,PHP文件一类,这些文件在根目录/www/backup/site里面。

2:备份的数据库文件,位于:根目录/www/backup/database

找到最新的一个备份,然后将这两个文件下载好,上传到新的VPS中。

步骤#03:上传旧网站的备份到新的VPS

可以先在旧的VPS中将网站文件和数据库文件下载到本地,然后上传到新的VPS。但是如果VPS在国外,比如在美国的话,下载速度可能比较快,但上传你就会比较慢。

这个时候,我们就可以使用一个新的指令wget,直接从VPS到VPS的复制。

例如:

wget https://ensky.tech/wordpress-3.1-zh_CN.zip

我们只需要将我们要复制的文件放到网站的根目录去,就可以这样复制了。比如我的备份文件是wordpress-3.1-zh_CN.zip,然后我的网站是ensky.tech。那么将wordpress-3.1-zh_CN.zip文件复制到网站的根目录中,就可以直接使用wget https://ensky.tech/wordpress-3.1-zh_CN.zip来复制文件了。

步骤#04:宝塔后台创建新的网站

就像创建新网站一样去创建,域名使用新的域名,数据库可以创建一个新的。

步骤05:将旧网站的HTML等文件放到新网站的文件夹中

将我们之前打包的网站文件(HTML、PHP文件一类),复制到如下目录中,然后解压缩。

需要删除自带的404.html和index.html

解压缩的时候需要保持文件结构和之前的旧网站一致

解压缩后:

解压以后需要保证wp-config.php这个文件处于根目录中。如图所示:

步骤#06:恢复数据库文件

菜单:宝塔后台——数据库——找到自己创建的数据库,然后点击导入,选择本地上传的方式,把旧网站的数据库上传上去。

然后点击导入,导入刚才上传的文件。

步骤#07:网站配置

比如原来网站使用了SSL,那么先把SSL开启。

还有伪静态,如果以前开启了,那么也把伪静态打开。

例如:

步骤#08:更新WP-Config.php文件的数据库名字和密码

在网站根目录中,找到wp-config.php文件,就能看到文件中有如下三行代码,这个需要替换为新的。也就是我们刚开始创建网站的时候的用户名和密码。

define( ‘DB_NAME’, ‘ensky.tech’ );

define( ‘DB_USER’, ‘ensky.tech’ );

define( ‘DB_PASSWORD’, ‘IamEnsky’ );

这个地方注意数据库名字的大小写。如果创建网站的时候,数据库写的是Ensky_Tech,但实际后台可能是ensky_tech。

关于数据库前缀:

$table_prefix = ‘wpensky_’;

如果想修改数据库前缀的话,可以参考:https://m.wpjam.com/m/how-to-change-the-wordpress-database-prefix/

步骤#09:更新网站URL

由于之前的网站域名和新的域名不一样,但是我们之前网站数据库中保存的URL又是旧的,所以需要更新网站的URL。

可以使用wp-config.php文件来更新,添加如下两行代码:

define( ‘WP_HOME’, ‘https://test.ensky.com/’ );
define( ‘WP_SITEURL’, ‘https://test.ensky.com/’ );

删除WP-Rocket插件

WP-Rocket会记录旧网站的URL信息

Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/ensky.tech/wp-content/plugins/wp-rocket_v3.9.1/) is not within the allowed path(s): (/www/wwwroot/newdomain.com/:/tmp/) in /www/wwwroot/newdomain.com/wp-content/advanced-cache.php on line 17

附录:

延伸阅读:https://wordpress.org/support/article/changing-the-site-url/