WordPress博客迁移过程记录
起因
之前一直使用的是腾讯云的轻应用服务器,第一年买的时候就几十块,结果到期后续费变成了200多块,所以不打算续费了。去年双十一有活动可以79购买差不多配置的轻应用服务器,还可以原价续费一年,所以果断迁移数据。
这次迁移主要还是博客服务,因为相对而言还是很重要的。
步骤
1、目录结构如下
包括数据文件夹和docker配置文件,docker里面的数据是映射到当前目录的文件夹的;
.
├── app wordpress数据目录
├── db mysql数据目录
├── docker-compose.yml docker配置文件
2、先备份数据
这里借助了busybox来备份数据,之前直接压缩数据文件,迁移后好像有权限的问题;
dec9fa1ef264,sec1pa11f2a4 分别是我的wordpress和mysql容器的id;
# 先进入到文件夹
# cd /root/apps/wordpress
# dec9fa1ef264 是wordpress的容器id;数据存储在./app中
docker run --rm --volumes-from dec9fa1ef264 \
-v ./:/backup busybox \
tar cvf ./backup/wordpress_backup.tar /backup/app
# 假设sec1pa11f2a4是mysql的容器id,数据存储在./db文件夹
docker run --rm --volumes-from sec1pa11f2a4 \
-v ./:/backup busybox \
tar cvf ./backup/db_backup.tar /backup/db
执行完成上面的命令之后,在当前文件夹会生成两个tar文件,将这两个tar文件上传到要迁移的服务器。
3、上传数据和配置文件到目标服务器
注意这里的qq2是目标服务器的别名,下面使用rsync来复制文件,腾讯服务器内部复制很快,主要不要走公网IP,走内网IP(内网IP地址类似:10.0.x.x);
# 迁移数据文件,两个tar文件
rsync -av *.tar qq2:/root/apps/wordpress
# 迁移配置文件
rsync -av docker-compose.yaml qq2:/root/apps/wordpress
4、启动服务
登录到目标服务器qq2,解压数据文件后重启docker容器即可
cd /root/apps/wordpress
tar -xvf wordpress_backup.tar
tar -xvf db_backup.tar
# 注意:将解压的文件移动到 /root/apps/wordpress
# 启动服务,就搞定了
docker-compose up -d
docker配置文件
下面是我的docker-compose.yaml配置文件,密码已隐藏。
services:
mysql:
image: mysql:5.7.40
container_name: blog_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: <this is password>
MYSQL_DATABASE: blog
MYSQL_USER: blog
MYSQL_PASSWORD: <this is password>
volumes:
- ./db:/var/lib/mysql
blog:
image: wordpress:latest
container_name: blog_app
restart: always
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: blog
WORDPRESS_DB_PASSWORD: <this is password>
WORDPRESS_DB_NAME: blog
volumes:
- ./app:/var/www/html
ports:
- "8080:80"
depends_on:
- mysql