前言

网站迁移最有用最成功的方法是把网站的数据文件夹和数据库打包带走,以halo博客为例,配合1panel可视化后台操作系统,我们可以非常轻松地将网站从一台机子迁移到另一台机子上。保证迁移后的数据原封不动!
本教程适用于doucker容器运行的网站,其他方式运行的网站请根据实际情况自行探索迁移方式,总体来说大差不大。

可能用到的但是不会自己下载的指令

scp rsync screen

  • 安装指令如下
sudo apt update
sudo apt install openssh-client
sudo apt install rsync
sudo apt install screen

若报错,可能是系统不同,请自行查找你服务器系统对应的安装指令。

教程(以迁移halo博客为例)

一、找到数据文件夹

首先登录你原来搭建了网站的服务器上(后称母鸡),找到你的网站的数据文件夹,利用1panel右侧的 系统--文件 来在线查找文件。
当你找到数据文件夹的时候,请复制路径,例如halo的数据文件夹在我的服务器上是这样的:

/opt/1panel/apps/halo/halo

找到数据文件夹后,你可以选择压缩你的数据文件夹,或者不压缩,压缩适用于网站数据不多、盘的容量允许的情况,若不压缩,可以使用rsync指令把整个文件夹复制到新服务器(后称子鸡)上。这个我们后面再操作。

二、前往子鸡下载对应容器

在子鸡上使用1panel安装最新版本的halo博客,在安装时,请确保以下蓝色荧光标记的内容和原来母鸡上的内容是一样的!
1
红色划线可以根据自己的需要来选择。
随后安装,当系统显示容器正常运行时,暂停容器运行,找到该容器存放数据的文件夹,复制路径。

三、开始迁移数据

下载数据

我们使用ssh程序登录子鸡VPS,利用screen可以创建一个持续的ssh连接来让我们的下载持续在后台进行。
输入下面的指令创建一个screen:

screen -S download

这样会创建一个名为download的screen连接
在screen输入rsync相关指令下载母鸡上的数据库文件夹到本地。

rsync指令的相关教程可以前往此的文章查看: https://muyno.com/archives/13

等待下载好之后,请确保旧的文件被全部替换。

替换数据库

当你安装halo时,系统会创建一个数据库,由于你创建数据库的时候和原来的数据库的名称、用户名、密码是一样的,所以我们直接将母鸡的数据库备份导入到子鸡的对应的数据库即可。
在1Panel里,数据库右边的操作按钮可以方便地对数据库进行备份、下载备份到本地以及导入备份等。由于步骤较为简单,这里不继续展开了~

四、启动容器

当你以上操作都完成的时候,你的网站的迁移工作就已经完成了,接下来启动容器即可,只要你没有操作失误,那么大概率是可以直接成功的。网站的数据都是不变的,包括你先前创建的管理员账号密码或者是用户自己创建的账号密码等。

总结

一开始迁移数据我走了不少弯路,信了halo官方提供的备份功能,结果我的网站数据大,完全迁移不了,最终发现还是直接打包搬家最好。这种方法对数据量很大的博客迁移也是有用的,并且我也是只推荐这种迁移方法。


若有任何不懂的可以直接在此文章下留言,若讲解出现错误或者不清楚的地方还请指正~ 谢谢