很多年前我的个人博客是部署在 Linode 的服务器,后来又给女儿弄了一个博客记录女儿的成长,使用的是 WordPress ,老婆执笔。现在我的博客早已迁移到了 github ,女儿也长大了,博客好几年没有更新,准备停掉 linode 服务器,将女儿博客迁移到本地。

迁移有三个步骤:

  • 备份原博客数据;
  • 本地部署 wordpress;
  • 还原。

备份

将服务器 wwwroot 目录中的文件拷贝到本地。

将 mysql 数据库进行备份。

本地部署 wordpress

本地部署 wordpress 采用 docker-compose 的方式,wordpress 使用的是最新版本,mysql 和之前 linode 服务器使用的同一版本,docker-compose.yml 文件内容如下:

version: '3'

networks:
 wp_net:
  driver: bridge
  ipam:
   driver: default
   config:
    - subnet: 172.88.1.0/24

services:
  db:
    image: mysql:5.7
    volumes:
      - ./data:/var/lib/mysql
    restart: always
    ports:
      - "13306:3306"
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=Aa123456
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wpadmin
      - MYSQL_PASSWORD=Aa123456
    command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password
    networks:
     wp_net:
      ipv4_address: 172.88.1.2


  wp:
    image: wordpress:latest
    ports:
      - "12000:80"
    restart: always
    volumes:
      - ./wordpress/:/var/www/html
    environment:
      - TZ=Asia/Shanghai
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=wpadmin
      - WORDPRESS_DB_PASSWORD=Aa123456
      - WORDPRESS_DB_NAME=wordpress
    networks:
     wp_net:
      ipv4_address: 172.88.1.3

volumes:
  db_data: {}
  wordpress_data: {}