网站本来是建在 Vultr Tokyo 服务器上的,我家的联通宽带访问速度很快,延迟也不算太高。可是有几个朋友都反应网站打不开,思来想去,还是打算把网站转移到阿里云,虽然阿里云只有 1M 带宽,但访问稳定还是很重要
备份数据库和 WordPress 网站目录
- 在 phpMyAdmin 中选择网站数据库,导出为
.sql
文件,下载到本地- 也可以在宝塔数据库面板中备份(和用 phpMyAdmin 备份导出的文件大小不太一样,不知道为什么,最后使用的是宝塔导出的
.sql
文件)
- 也可以在宝塔数据库面板中备份(和用 phpMyAdmin 备份导出的文件大小不太一样,不知道为什么,最后使用的是宝塔导出的
- 把整个网站目录打包为压缩文件,下载到本地
遇到的问题:
恢复数据库和 WordPress 网站目录
情况一:不改变网站域名
如果网站域名没变的话,在新服务器按照原来的配置搭建平台,网站目录、数据库用户名和密码都不要改变,准备完成后:
-
- 在 phpMyAdmin 中选择网站数据库,将刚刚导出的
.sql
文件恢复- 也可以在宝塔数据库面板中恢复
- 把刚刚打包的网站目录上传到服务器并解压,保持路径不变
- 在 phpMyAdmin 中选择网站数据库,将刚刚导出的
然后将 DNS 解析修改到新服务器,设置好 SSL ,直接访问域名就会发现已经无损迁移成功了
情况二:改变网站域名
在新服务器搭建好网站平台后,和上面的步骤一样,恢复备份的数据库和网站目录文件:
-
- 在 phpMyAdmin 中选择新网站数据库,将刚刚导出的
.sql
文件恢复- 也可以在宝塔数据库面板中恢复
- 把刚刚打包的网站目录上传到服务器并解压,移动到新设定的网站文件目录
- 在 phpMyAdmin 中选择新网站数据库,将刚刚导出的
但是此时网站是无法访问的,需要继续修改的有三个内容:
- 将数据库中所有有关原域名的数据修改为新域名,比如把
www.a.com
全部改为www.b.com
需要用到的命令是:
UPDATE wp_options SET option_value = REPLACE(option_value, 'www.a.com', 'www.b.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = REPLACE (post_content, 'www.a.com', 'www.b.com'); UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'www.a.com','www.b.com'); UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'www.a.com', 'www.b.com'); UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'www.a.com','www.b.com'); UPDATE wp_posts SET guid = REPLACE (guid, 'www.a.com', 'www.b.com') WHERE post_type = 'attachment';
在 phpMyAdmin 中,打开对应的数据库,点击下方“控制台”输入命令即可
需要注意的是,上面这些代码不难理解,可根据实际情况自行修改,比如第 6 行对 wp_posts
中 guid
的替换中,后面的 WHERE
限制我觉得不必要
- 修改 WordPress 配置文件
wp-config.php
中的数据库设置
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define( 'DB_NAME', 'database_name_here' ); /** MySQL数据库用户名 */ define( 'DB_USER', 'username_here' ); /** MySQL数据库密码 */ define( 'DB_PASSWORD', 'password_here' );
根据注释设置好数据库的名称、用户名、密码后,不出意外网站已经可以访问了
但是此时网站仍可能存在一些问题,在页面、小工具、主题、插件等代码中,可能还存在指向原域名的固定链接。所以说写代码尽量用函数引用域名噻
所以最后一步:
- 在博客后台修改在页面、小工具、主题、插件等代码中,可能还存在指向原域名的固定链接
文章评论