【问题标题】:What is the best way to handle updates to an ecommerce website?处理电子商务网站更新的最佳方式是什么?
【发布时间】:2010-11-27 06:09:01
【问题描述】:

我有一个电子商务网站 (Magento),我将很快发布。我当前的设置包括一个开发、登台和生产站点,每个站点都有自己的数据库。从开发推到登台很容易,但是从登台到生活,不断有新客户和订单被创造出来呢?我是否走苹果路线并发布“库存正在更新”消息。有什么见解吗?

谢谢

更新:我想我对我的实际问题还不够清楚。对于那些管理大型电子商务网站的人,您是否会暂时关闭网站以进行更新,或者是否有其他我忽略的常见或其他方法?

【问题讨论】:

    标签: php database deployment magento e-commerce


    【解决方案1】:

    Magento 已经有一个 Maintenance Mode 如果你需要它。更多关于它的讨论是here。

    通常,您的所有更改都可能是自定义模块,并且每个模块都有自己的版本和一组适用的安装/升级脚本。每当您增加模块的config.xml 文件中的版本号时,Magento 都会自动查找并运行相应的升级脚本。如果您的所有数据库更改都是通过该脚本进行的,那么您无需担心。
    这就是我希望我的登台到生产站点的工作方式,并且我很少需要在管理员中进行任何其他更改,例外情况是调整 CMS 内容中的链接。我从不直接从临时数据库复制数据。
    更多关于这个的讨论是here。

    【讨论】:

    • 谢谢!肯定有帮助,但是产品呢?我正在建立一个工作流程,即使他们也经历了开发 -> 登台 -> 生产。在这种情况下,我知道的唯一选择是纯粹使用数据库并从 staging 复制到 prod。建议?
    • 如果这可以通过产品导入来完成,那么只需将相同的文件依次上传到每个服务器即可。并非所有产品类型都可以这样定义。到目前为止,我还没有找到一个巧妙的解决方案,并通过管理员重新输入它们。
    【解决方案2】:

    您的想法非常好,前提是网站的交互部分被禁用 - 如果您正在上传代码/修改数据库,那么您不想在那个时候引入新数据,因为您可能会遇到错误。

    另一种方法是安排一个 cron 作业(或者干脆等到凌晨 12 点并手动执行)来上传/更改您想要上传/更改的所有内容。

    我现在真的想不出其他任何东西 - magento 是否有一种在更新时禁用的方法?

    谢谢,

    詹姆斯

    【讨论】:

      【解决方案3】:

      在这种情况下,您应该在允许升级的时间和日期制定升级计划,并且在更新/升级维护模式期间应该使用正确的 http 标头503 Service Unavailable,以便搜索蜘蛛/机器人能够理解这种情况是暂时的。

      显示维护模式的方式取决于您。我建议使用重写规则将所有不是来自开发人员 ip 的请求重定向到维护页面。因此,您仍然可以自己使用和执行升级或设置更改,而其他人则可以查看维护页面

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-16
        • 2016-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多