为什么要进行这个计划?
设想,如果你的云端服务器提供商突然倒闭或其他原因意外无法运转,而这时你又不得不重新建站,同时你又忘了你当初建站时需要的材料和步骤,你的网站将会怎么样呢?显然,你的网站将有一段时间不能给用户提供服务,你可能会损失一些客户,这对于商业性的网站来说可能是一笔不小的损失。
要如何进行这个计划?
开始准备
首先你要明确你的网站提供的业务,对这些业务应该采取什么样的操作系统,什么样的应用程序来部署。
验证你的网站备份
你应当定时给网站做好全量(改变量)备份。
确保这些备份包含网站建设的关键内容。
检查你的备份文件是否可以快速恢复这些内容,例如你的网站采用tar.gz压缩包存档备份,而准备恢复的站点不支持tar.gz压缩包解压,这就会更麻烦些了。
……
更多可参考:https://searchstorage.techtarget.com.cn/6-27712/及文件:
NIST 800-34, Rev 1 Contingency Planning Guide for Federal Information Systems下载
本博客是如何进行的?
平常的工作
我的站点经常都会在闲时使用计划任务备份网站和数据库及重要目录,对于增加了关键更改(例如伪静态,限制信息,配置文件,SSL等),保存相应文件和备忘录。
用服务器从0重新部署网站
首先我从阿里云OSS(把备份保存到外部可靠的存储空间中是一个好的方案)拷贝了原网站(以下简称A)的最新文件备份和数据库备份,然后上传到空闲的服务器(以下简称B)(为了不影响A的正常运行,采用了空闲服务器进行测试)
然后安装原先使用的面板,框架,运行环境,程序等,然后新建网站,并解压网站文件和导入数据库文件,更改数据库连接配置信息,更改重定向等信息,更改脚本配置信息(例如wp-config.php
等),填入之前备份的网站其他信息,现在建站基本完成。
最后验证网站是否可正常运行,网站功能,页面等是否正常。
……
发现的问题
防跨站攻击(open_basedir)设置错误(_require(): open_basedir restriction in effect._),原因:网站域名改变造成的,解决方案:重新设置open_basedir,更改user.ini
文件。
B的部分连接仍然重定向至A,解决方案:更改数据库的数据(例如wp_options表),更改插件设置(例如Yoast SEO插件更改域名后需要重新设置,或更改数据库)
SSL错误(_Warning: 发生了预料之外的错误。WordPress.org或是此服务器的配置可能出了一些问题。如果您持续遇到困难,请试试支持论坛。 (WordPress无法建立到WordPress.org的安全连接,请联系您的服务器管理员。)_),这个错误同时也会导致WordPress无法自动升级,解决方案:重新配置SSL,重新启用http2和HSTS(原网站配置是如此)。
获得的经验:多学习应对网站突发事件的处理的方法,本地资源尽可能使用相对目录,例如https://域名/image.php
应改为//域名/image.php
,或改为./image.php
或image.php
(有些服务器可能不支持某些相对URL形式)。这样可以减少一些不必要的更改。当网站做出比较大的更改时应备份网站,在更新网站的面板,程序,插件等操作时,应增加更新锁,尽量在镜像服务器测试稳定性通过后投入正式使用。