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

留下回复