WordPress本地备份重部署方法

WordPress作为最有名的开源博客系统之一,由于其便捷的部署方式和丰富的样式和插件,使得其在个人博客,中小型内容管理系统(CMS,content management system)中广受欢迎。这篇博客将记录部署和维护wordpress的一些细节方法和技巧,后续有更多的会继续在文章后面进行补充。

1、部署,docker技术可以使得部署wordpress系统非常便捷,wordpress基本依赖两个docker镜像,mysql和wordpress。部署方式可以通过下面的两个脚本命令启动相关容器进行。在公有云如阿里华为上部署时一般还要配置nginx的conf,购买SSL证书并进行签名部署等操作,一般公有云上也会有相关文档说明,这里不做特别说明。

docker run -d \
--name wordpress \
-v /host/path/to/wordpress:/var/www/html \
-p 8080:80 \
wordpress

docker run -d \
-p 3306:3306 \
--name mysql \
-v /host/path/to/mysql:/var/lib/mysql \
--env MYSQL_ROOT_PASSWORD=******** \
mysql:5.7

2、备份,这里用比较笨拙的全量备份到本地并进行本地部署的方式进行介绍。环境为windows10/11和WSL的ubuntu18.04。1、首先通过scp将在服务器上的mysql目录和wordpress的目录全量拷贝到本地。2、拉取两个docker镜像,wordpress和mysql:5.7。3、启动对应的两个docker容器,启动方式为上述的启动脚本示例。

3、进入mysql容器内部(docker exec -it containerid bash),登录到sql服务器(mysql -uroot -ppassword),选择数据库(use databasename),通过sql指令更新本地定义的域名。

UPDATE wp_posts SET post_content = replace(post_content, 'https://original_domain', 'https://new_domain');
UPDATE wp_options SET option_value = replace(option_value, 'https://original_domain', 'https://new_domain');

4、配置SSL和本地域名解析。具体方法为:1、在WSL的ubuntu环境中生成本地ssl证书,2、检查WSL中的ip;3、在windows原生系统中添加一行本地域名解析(C:\Windows\System32\drivers\etc目录下的hosts文件),格式为:wsl ip:new_domain。其中前两点的CLI(command line interface)命令如下:

openssl req -x509 -newkey rsa:2048 -nodes -keyout new_domain.key -out new_domain.crt -days 365 

ifconfig | grep eth0 -n1 | grep inet | awk '{print $3}'

5、在WSL中安装配置nginx,conf的配置方法和云平台中的配置方法类似,阿里云华为云上也有相关的配置说明,这里不做赘述。配置好后,通过命令nginx -s reload更新配置属性。然后就可以在windows系统的浏览器的状态栏中输入https://new_domain就可以访问备份的博客系统了。

References


by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *