Apostrophecms:图像管理器挂在复制的网站上

时间:2018-01-11 20:28:12

标签: linux image migration apostrophe-cms

我已将一个撇号站点从开发服务器复制到生产服务器。两者都是linux服务器。执行的步骤是:

  1. 将整个项目目录树推送到新服务器(通过git)。
  2. git post-receive hook将调用npm -install,它将安装package.json文件中指定的所有内容
  3. 使用mongodump和mongo restore迁移数据库。
  4. 当生产站点启动时(通过节点app.js),将显示博客文本和图像。没有创建小部件,因此不会填充它们,但是,这并不重要,因为我可以重新创建并重新填充它们。

    进入图像管理器对话框时出现问题。如果我在图像管理器中执行任何操作,即向窗口小部件添加图像,则浏览器将无响应。顺便说一下,原始网站上的所有图像都出现在图像管理器中,因此数据库与上传/附件目录同步。以下是来自broswer的控制台输出:

    jquery.js:1444 Uncaught RangeError: Maximum call stack size exceeded
    at String.replace (<anonymous>)
    at Function.Sizzle.matchesSelector (beap.ie/modules/apostrophe-assets/js/vendor/jquery.js:1444:14)
    at Function.jQuery.filter (beap.ie/modules/apostrophe-assets/js/vendor/jquery.js:2709:15)
    at jQuery.fn.init.jQuery.fn.(anonymous function) [as parent] (beap.ie/modules/apostrophe-assets/js/vendor/jquery.js:3059:17)
    at HTMLInputElement.<anonymous> (beap.ie/modules/apostrophe-images/js/manager-modal.js:30:17)
    at HTMLDivElement.dispatch (http://beap.ie/modules/apostrophe-assets/js/vendor/jquery.js:4670:9)
    at HTMLDivElement.elemData.handle (beap.ie/modules/apostrophe-assets/js/vendor/jquery.js:4338:28)
    at Object.trigger (http://beap.ie/modules/apostrophe-assets/js/vendor/jquery.js:4579:12)
    at HTMLInputElement.<anonymous> (hbeap.ie/modules/apostrophe-assets/js/vendor/jquery.js:5289:17)
    at Function.each (beap.ie/modules/apostrophe-assets/js/vendor/jquery.js:384:23)
    

    我使用top命令检查了linux服务器,并且没有异常的工作负载。 这是'我的package.json文件依赖项:

      "dependencies": {
        "apostrophe": "^2.0.0",
        "apostrophe-blog": "^2.0.0",
        "html2plaintext": "^1.0.1",
        "lodash": "^3.1.0",
        "moment": "^2.14.1"
      }
    }
    

    两台服务器上的代码库完全相同,因为它们都来自同一个git repo并且运行相同的post-receive挂钩。

    我是否错过了迁移中的一个步骤?

1 个答案:

答案 0 :(得分:0)

我的不好:(撇号已经从2.39.1升级到2.45.0。恢复到之前的版本解决了所有问题。我已经相应调整了我的package.json:

"dependencies": {
    "apostrophe": "2.39.1",
     ...

当我准备好并有时间时,我会升级。

我上面指定的简单迁移过程可以正常工作。