我的客户目前有一台服务器使用Magento,而他的admin
会在整个网站上删除多个小时的更新。我想让它成为即时流程,以便我想提出他应该如何设置它的新解决方案:
数据库必须以某种方式在这两个服务器之间同步(集群?复制?)我认为,对于最小的停机时间,首先应该在Dev Server上测试更新(在升级之前从生产服务器同步的DB / WEB)并且在检查之后它工作正常并且知道过程如何看起来我将禁用LoadBalancing或RoundRobin DNS到服务器1,然后在服务器2上进行升级/更新,然后切换到服务器2作为生产服务器并更新服务器1。在LoadBalancing / Round Robin上打开。
我来自Windows环境,所以这就是我在Windows上的方式(也许是单独的数据库和Web)以及RedGate SqlCompare / Sql Data Compare等工具应该可行。
但是我根本不认识Magento所以请告诉我可能的事情,如果客户不想让他的店铺倒闭,我该怎么办?
答案 0 :(得分:1)
你肯定需要一个生产服务器,以及某种登台/版本管理系统。 我建议检查Subversion或Git进行版本管理。 可以先将更改提交到存储库,然后更新到实时站点,不会出现停机。这对于开发环境来说已经足够了。
对于更大的更改,例如Magento版本升级,您可能仍然需要/需要在半夜将网站关闭几个小时,因为这是一个更大的过程。
对于多个服务器,作为示例,我运行负载均衡器,在主服务器和辅助服务器之间进行平衡。有一个数据库服务器是独立的。对使用Subversion提交到主服务器的开发服务器进行更改,然后主服务器和辅助服务器之间的任何更改每隔60秒发送到辅助服务器。
对于此解决方案,会话和缓存数据存储在数据库中。
答案 1 :(得分:1)
恕我直言,拥有良好的托管环境,除非您确实有成千上万的同时访问者,否则您将不需要多台服务器。插件是管理员相关问题的常见原因。
我们在“云”环境中取得了巨大成功。实例化一个新的云实例,获取该IP,然后在“主机”文件中,将dev.yourdomain.com指向它以进行测试。唯一真正的停机时间是您应该在数据库转换为新版本时冻结生产站点,这可能需要几个小时。我们的mySql数据库备份是3 GB左右,但幸好tgz低至280 MB。
我们正在使用nginx和php-fpm,它们的速度非常快。
我的典型迁移路径: