我的网站在专用的 Debian LAMP 服务器上运行。我想更新系统(假设我的 Debian 版本比较旧,我想从头开始重新安装所有内容)
当我重新安装所有内容时,我可以使用什么策略来避免我的网站瘫痪?
附录
当然我知道我可以同时购买另一台服务器,并在完成后更改 DNS。但这会使我的工作量加倍。
难道某些服务不能在有限的时间内充当代理缓存器吗?也许 CloudFlare 可以缓存所有内容,而不仅仅是图片。
答案1
某些服务不是可以在有限的时间内充当代理缓存器吗?
如果您的网站是纯静态的,或者至少在设置为只读时有些用处。那么您可以暂时支付一些网络托管费用,然后使用 wget 之类的工具或类似工具来抓取您网站的静态部分。
您可以在云中设置代理,将 Squid 设置为您网站的代理,临时调整 DNS 以便所有访问都通过代理,然后在缓存所有内容后将 Squid 配置为以离线模式运行。您可能希望编写一些脚本,让浏览器通过代理访问所有重要页面,这样所有内容都会进入缓存。
答案2
如果您不想有任何停机时间,那么唯一的选择是在单独的硬件上构建新的安装,当您对一切正常运行感到满意时,更改 DNS 设置以指向新服务器。
如果您没有其他物理服务器,您可以考虑在升级物理服务器的同时在云服务器上运行您的应用程序。
答案3
让第二台服务器承担负载,使用负载平衡器或仅在更新期间重新指向 IP。事实上,如果您使用负载平衡器,那么之后您可以让两台服务器都保持运行。
这是假设网站不依赖数据库。因此,鉴于您提供的事实有限,这是我的简单回答。
答案4
我会从虚拟机开始。建立一个系统,然后迁移到您当前的网站。这样您就会知道在将应用程序移植到新版本时会遇到哪些麻烦。如果您在某个时候没有另一台服务器机器,您将不得不将其关闭以进行升级,但提前知道问题出在哪里是减少停机时间的重要一步。