本文于 31 天前发布,最后更新于 31 天前
一、前言
近日,在服务器上卸载Python,导致服务器yum不可用,尝试了多种方法进行修复都没能成功,最终决定重装系统。所以,本站经历了首次备份恢复。于本文记录一下大致的整体流程。
二、备份
2.1 备份WordPress目录
我采用的是最朴素的备份方法(由于是首次,不太信任网上的教程,也不太信任WordPress的插件),直接将WordPress整个目录打包压缩
tar -zcvf wordpress.tar.gz wordpress/
2.2 备份Nginx配置文件和SSL证书
cp -r /usr/local/nginx/ssl /root/ssl_bak
cp /usr/local/nginx/conf/nginx.conf /root/nginx.conf_bak
2.3 备份MySQL数据
mysqldump -u root -p wordpress > /home/mysql/wordpress.sql
将上述步骤备份出的文件挪出服务器保存到云盘或者Windows本地。
三、恢复
3.1 部署环境
待服务器重装操作系统后,利用lnmp一键安装脚本部署环境,参考:Linux搭建WordPress详细教程。
不用部署WordPress,只需要一键部署好Nginx+PHP+MySQL。
再将上述备份文件上传回服务器。
3.2 恢复WordPress目录
将备份的wordpress.tar.gz文件放到与备份时同样的目录(没有就创建),解压
tar -zxvf wordpress.tar.gz
3.3 恢复Nginx
详细步骤:
- 用备份的nginx.conf_bak将nginx.conf配置文件覆盖。
- 再将ssl_bak文件夹放到/usr/local/nginx/目录下。
- 重新加载配置文件,重载nginx。(nginx -t)(nginx -s reload)
3.4 恢复MySQL数据
mysql> create database wordpress;
## 执行备份SQL文件
mysql> use wordpress;
mysql> source /home/mysql/wordpress.sql;
注意:若原环境使用了Redis缓存数据库,则还需要进行以下两个步骤(也可以是一步3.6)。
3.5 暂时去除Redis
我的WordPress配置了Redis缓存数据库,但是我并没有备份Redis,所以需要执行这步。
在目录/home/wwwroot/wordpress/wp-content下,可以看到一个名为object-cache.php的文件,将其重命名
mv object-cache.php object-cache.php_bak
至此,便可以重新看到我们的网站了。成功看到网站后,再去部署Redis也不迟。
3.6 部署Redis
安装
yum -y install redis
启动 Redis 并设置为开机自启
systemctl start redis
systemctl enable redis
验证是否正常运行
systemctl status redis
恢复WordPress下的object-cache.php文件
mv object-cache.php_bak object-cache.php
到此为止,大功告成。