0%

基于docker容器的wordpress迁移


作者: 耗子007


前提

我的wordpress是用sqlite作为数据库的
wordpress是运行在docker容器里面的
网站的所有数据都有备份
安装docker
按照“基于centos搭建wordpress的docker镜像”制作对应的docker镜像(假设名字为wordpress_sqlite)
拷贝备份数据到新机器的/workspace/wordpress/blogs/,执行

1
docker run –privileged -itd -p 8080:80 -v /workspace/wordpress/blogs/:/var/www/html wordpress_sqlite bash -l -c “/sbin/init”

此时,网站应该可以正常运行了。

注意:如果你修改了网站的域名,那么需要对sqlite数据库的数据进行修改。

##问题

当迁移的机器域名变化时,需要怎么修改网站配置。

准备环境:安装sqlite3,sqlitebrowser

最重要的就是需要修改两个配置:

WordPress地址(URL)—-对应wp_options的 home
站点地址(URL)—-对应wp_options的 siteurl

1
2
3
UPDATE wp_options SET option_value = replace( option_value, ‘http://www.old.com’, ‘http://www.new.com’ ) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
UPDATE wp_posts SET post_content = replace( post_content, ‘http://www.old.com’, ‘http://www.new.com’ ) ;
UPDATE wp_posts SET guid = replace( guid, ‘http://www.old.com’, ‘http://www.new.com’ ) ;

注意:

  • 第一,参考文章“sqlite数据库不能修改”
  • 第二,参考文章“wordpress登陆跳转卡住”
  • 第三,sqlitebrowser在update之后,需要执行“write changes”按钮,才能把修改写入到数据库文件中。

参考文章: