宝塔wordpress子比主题网站备份与迁移教程小白看了就会系列(All-in-One WP Migration)_wroldpress all in one 迁移网站-CSDN博客

0 阅读3分钟

本文将分享如何使用All-in-One WP Migration插件来备份和迁移你的WordPress网站。这是一款功能强大的插件,能够帮助我们轻松完成整个网站的备份和迁移工作。只需要用该插件的导出与导入功能就能实现。 

特别提醒本文只提供参考,自己操作的时候请记好各种密码、各种配置、手动备份好整个网站源码、数据库、防止操作失误破坏整个网站。

一、利用插件备份网站(手动备份图片,其他部分插件导出备份)

1、下载插件:all-in-one wp migration

下载地址:All-in-One WP Migration网站迁移插件(关键词 wordpress子比网站迁移)

2、安装all-in-one wp migration插件,点击插件 → 安装插件 → 上传并安装

3、导出整站数据(图片手动备份导出,不用插件)

选择All in One WP Migration插件 → Export → FILE。然后按提示操作导出即可。

注意备份文件的时候,最好不要用这个插件导出备份图片,因为图片很大,在服务器里压缩图片下载到本地,后续在手动上传到这个目录下。(/www/wwwroot/stucoding/wp-content/uploads)图片在这个目录下,注意不是不备份

4、替换内容和高级选项

导出时还可以查找替换内容,功能跟WordPress批量查找替换修改文章内容的插件和代码是一样的。例如你是给网站换服务器,同时更换了域名或者网站名称,那么这里可以添加替换规则,你就不需要搬家完毕后再次去替换数据库了。

5、导出完成,点击按钮可以下载到本地

不一会儿就会给你打包完毕,提示文件大小,点击按钮可以下载到本地。

之后将会自动将网站的文件和数据压缩,形成一个可以下载的文件,直接点击下载到你自己的电脑即可。下载的文件将是一个.wordpress后缀的文件,该文件可以通过All-in-One WP Migration插件在任何站帮你恢复迁移。

6、删除备份

下载完成之后,在All-in-One WP Migration插件的备份菜单中删除网站中的备份文件。

二、迁移整个网站数据

1、安装 WordPress,配置SSL证书,伪静态

通过All-in-One WP Migration恢复网站,需要你准备新环境,在新服务器或本地环境中安装 WordPress(无需单独导入配置数据库,导入时会覆盖)。安装并激活 All-in-One WP Migration 插件。如果你恢复的网站文件超过免费版本上传文件大小的限制,可以下载上边网盘的插件。

访问站点

wordpress设置伪静态

location /
{
	 try_files $uri $uri/ /index.php?$args;
}
 
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

2、打开wordpress网站,配置数据库信息,安装插件,导入备份文件

在界面输入对应的数据库名,数据库用户名和数据库密码,然后点击提交,可到宝塔面板的数据库里查看详情。

数据库没错的话就会出现下图界面,点击现在安装。

你可以自己设置站点标题、用户名、密码和邮箱信息。设置完毕后点击“安装WordPress”,然后登陆,填写用户密码即可。

在恢复站点上安装好All-in-One WP Migration插件之后,通过插件导入刚才备份文件.wordpress后缀的文件。

在选择导入文件类型时,需要和导出文件类型匹配,否则导入会失败。

选择导入的备份文件之后 将自动执行文件上传。

3、文件上传完成之后,提示你覆盖当前站点。

4、导入完毕,网站备份就已经恢复成功了。

5、完成恢复

导入完成后,可能需要重新登录 WordPress 后台(使用原网站的账号密码)。检查网站内容、主题、插件等是否正常。

6、重新进入网站,点击升级wordpress数据库

7、迁移完成,把压缩的图片手动上传到服务器!

需要注意的是,重新登录,就是备份前的网站用户名和密码,这些跟原来都没有变化!

8、设置Permalinks

恢复完成后,我们还需要设置Permalinks。进入网站后台(账号密码是原始网站的),点击Setting-》Permalinks。

/%post_id%.html

三、子比授权

1、搭建一个站点,绑定api.zibll.com域名,并开启SSL证书

2、配置好伪静态

location / {
	if (!-e $request_filename){
		rewrite  ^(.*)$  /index.php/$1  last;   break;
	}
}

3、在/etc/hosts里面加一行     127.0.0.1 api.zibll.com

4、删除子比站点所有文件,上传index.php内容如下

<?php
$url = $_SERVER['REQUEST_URI'];
 
function getRandom($length) {
	$characters = 'abcdefghijklmnopqrstuvwxyz1234567890';
	$randomString = '';
	for ($i = 0; $i < $length; $i++) {
		$index = rand(0, strlen($characters) - 1);
		$randomString .= $characters[$index];
	}
	return $randomString;
}
function generate_randstr($url) {
	$key = strrev(md5($url));
	$num1 = rand(70,99);
	$num1r = strrev(strval($num1));
	$num2 = rand(70,99);
	$num2r = strrev(strval($num2));
	$key = substr($key,22).substr($key,0,22);
	$keystr = substr_replace($key,getRandom(3),$num1-69,0);
	$randstr = getRandom(3).$num1r.getRandom(rand(5,10)).$keystr.getRandom(100-$num2).$num2r;
	return $randstr;
}
 
header('Content-Type: application/json; charset=UTF-8');
 
if(strpos($url, '/api/auth') !== false){
	$time = time();
	$token = md5(uniqid(mt_rand(), true) . microtime());
	$randstr = generate_randstr($_POST['url']);
	$sign = md5($randstr.$time.$token.'ok');
    $data = ['error'=>true, 'error_code'=>0, 'msg'=>'', 'time'=>$time, 'token'=>$token, 'randstr'=>$randstr, 'code'=>base64_encode('恭喜您,授权验证成功'), 'sign'=>$sign];
    echo json_encode($data);
}
elseif(strpos($url, '/api/update') !== false){
    $version = $_POST['version'];
    $data = ['result'=>false, 'aut_error'=>false, 'msg'=>'暂无更新,您当前的版本已是最新版', 'version'=>$version];
    echo serialize($data);
}

5、完成授权