OttoLi 的胡言乱语

  • 账户
    • 登录
    • 注册
    • 个人中心
head

WordPress 整站迁移记录

2020年2月28日 3946点热度 4人点赞 0条评论

网站本来是建在 Vultr Tokyo 服务器上的,我家的联通宽带访问速度很快,延迟也不算太高。可是有几个朋友都反应网站打不开,思来想去,还是打算把网站转移到阿里云,虽然阿里云只有 1M 带宽,但访问稳定还是很重要

备份数据库和 WordPress 网站目录

  • 在 phpMyAdmin 中选择网站数据库,导出为 .sql 文件,下载到本地
    • 也可以在宝塔数据库面板中备份(和用 phpMyAdmin 备份导出的文件大小不太一样,不知道为什么,最后使用的是宝塔导出的.sql 文件)
  • 把整个网站目录打包为压缩文件,下载到本地

遇到的问题:

用宝塔安装的 phpMyAdmin 的 Nginx 配置文件是错误的,在 Nginx 配置文件中,宝塔默认设置的配置是:

listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root  /www/server/phpmyadmin;

它把 phpMyAdmin 的根目录定义在了 /www/server/phpmyadmin ,但事实上,目录应该在下一层子目录中,文价夹名称是 phpmyadmin_ 加上一串 16 位的随机字符,例如 phpmyadmin_376e23ccb6958eaf

于是,把 Nginx 配置文件中的目录改为自己的实际目录,就能打开了:

listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root  /www/server/phpmyadmin_376e23ccb6958eaf;

打开 phpMyAdmin 后,报错:

continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”?

经查,这个错误是因为 phpMyAdmin 不支持 PHP 7.3 ,把 phpMyAdmin 的 PHP 版本设置为 PHP 7.2 就解决了

恢复数据库和 WordPress 网站目录

情况一:不改变网站域名

如果网站域名没变的话,在新服务器按照原来的配置搭建平台,网站目录、数据库用户名和密码都不要改变,准备完成后:

    • 在 phpMyAdmin 中选择网站数据库,将刚刚导出的 .sql 文件恢复
      • 也可以在宝塔数据库面板中恢复
    • 把刚刚打包的网站目录上传到服务器并解压,保持路径不变

然后将 DNS 解析修改到新服务器,设置好 SSL ,直接访问域名就会发现已经无损迁移成功了

情况二:改变网站域名

在新服务器搭建好网站平台后,和上面的步骤一样,恢复备份的数据库和网站目录文件:

    • 在 phpMyAdmin 中选择新网站数据库,将刚刚导出的 .sql 文件恢复
      • 也可以在宝塔数据库面板中恢复
    • 把刚刚打包的网站目录上传到服务器并解压,移动到新设定的网站文件目录

但是此时网站是无法访问的,需要继续修改的有三个内容:

  1. 将数据库中所有有关原域名的数据修改为新域名,比如把 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 限制我觉得不必要

  1. 修改 WordPress 配置文件 wp-config.php 中的数据库设置
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define( 'DB_NAME', 'database_name_here' );
/** MySQL数据库用户名 */
define( 'DB_USER', 'username_here' );
/** MySQL数据库密码 */
define( 'DB_PASSWORD', 'password_here' );

根据注释设置好数据库的名称、用户名、密码后,不出意外网站已经可以访问了

但是此时网站仍可能存在一些问题,在页面、小工具、主题、插件等代码中,可能还存在指向原域名的固定链接。所以说写代码尽量用函数引用域名噻

所以最后一步:

  1. 在博客后台修改在页面、小工具、主题、插件等代码中,可能还存在指向原域名的固定链接
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可
标签: Wordpress 建站
最后更新:2020年6月21日

OttoLi

涧户寂无人,纷纷开且落
——辛夷坞

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

OttoLi

涧户寂无人,纷纷开且落
——辛夷坞

最新 热点 随机
最新 热点 随机
精粤 h610i 主板 BIOS 启动画面 logo 修改自定义 Office/Visio/Project 安装与激活教程 - 适用于各种版本/正版/非正版 CentOS 安装运行 Hentai@Home 教程 自搭建全平台私有密码库 bitwarden & Vaultwarden 如何在不移动本地文件的情况下用 OneDrive 客户端将文件上传至 OneDrive —— 利用 mklink 软链接上传文件 Linux 如何使用密钥对连接 SSH 并关闭密码连接
[下载]那些超级有用的美术技法教程书[资源]攻壳机动队系列蓝光收藏指南Netch-可替代 SSTap 的开源游戏加速器2021 甲骨文云 Oracle Always Free 永久免费 VPS 服务器 | 介绍/注册/申请/部署/连接/注意事项APlayer & MetingJS 音乐播放器使用指南WordPress 建站日志
KMS 服务器的搭建及使用 WordPress 建站日志 为 WordPress 添加 reCAPTCHA 人机验证 2021 甲骨文云 Oracle Always Free 永久免费 VPS 服务器 | 介绍/注册/申请/部署/连接/注意事项 APlayer & MetingJS 音乐播放器使用指南 Office/Visio/Project 安装与激活教程 - 适用于各种版本/正版/非正版
标签聚合
资源 游戏 绘画 Office oracle 甲骨文 CentOS 动漫 免费 Wordpress 白嫖 Linux VPS 日期与时间 Windows ssr 教程 Ubuntu 建站 ssh
关于本站

Otto 不知道该说些什么,于是写了这么一行字……

目录 隐藏
1. 备份数据库和 WordPress 网站目录
2. 恢复数据库和 WordPress 网站目录
2.1. 情况一:不改变网站域名
2.2. 情况二:改变网站域名

COPYRIGHT © 2022 OttoLi. ALL RIGHTS RESERVED.SITEMAP

THEME KRATOS 豫ICP备20004659号 萌ICP备20210150号

腾讯云  LiteServer  Google Analytics  CloudFlare