本文于 61 天前发布,最后更新于 61 天前
一、前言
近日,在服务器上卸载 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
到此为止,大功告成。