Ошибка при развертывании приложения meteor на aws

#amazon-web-services #meteor

#amazon-web-services #meteor

Вопрос:

Вот mup.js:

 module.exports = {
  servers: {
    one: {
      host: '52.41.186.122',
      username: 'ubuntu',
      pem: 'aws-key/xanthelabs.pem'
      // password:
      // or leave blank for authenticate from ssh-agent
    }
  },

  meteor: {
    name: 'deep-app',
    path: '/home/cortana/Desktop/deep-app',
    servers: {
      one: {}
    },
    buildOptions: {
      serverOnly: true,
    },
    env: {
      ROOT_URL: 'http://52.41.186.122:8888',
      MONGO_URL: 'mongodb://localhost/meteor'
    },

    //dockerImage: 'kadirahq/meteord'
    deployCheckWaitTime: 60
  },

  mongo: {
    oplog: true,
    port: 27017,
    servers: {
      one: {},
    },
  },
};
  

Ошибка:

 Started TaskList: Start Meteor
[52.41.186.122] - Start Meteor
[52.41.186.122] - Start Meteor: SUCCESS
[52.41.186.122] - Verifying Deployment
[52.41.186.122] x Verifying Deployment: FAILED

    -----------------------------------STDERR-----------------------------------

    npm WARN deprecated semver behavior.
    npm WARN package.json meteor-dev-bundle@0.0.0 No description
    npm WARN package.json meteor-dev-bundle@0.0.0 No repository field.
    npm WARN package.json meteor-dev-bundle@0.0.0 No README data
    npm WARN cannot run in wd meteor-dev-bundle@0.0.0 node npm-rebuild.js (wd=/bundle/bundle/programs/server)
    => Starting meteor app on port:80

    assert.js:93
      throw new assert.AssertionError({
            ^
    AssertionError: "undefined" === "function"
        at wrapPathFunction (/bundle/bundle/programs/server/mini-files.js:77:10)
        at Object.<anonymous> (/bundle/bundle/programs/server/mini-files.js:108:24)
        at Module._compile (module.js:456:26)
        at Object.Module._extensions..js (module.js:474:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:312:12)
        at Module.require (module.js:364:17)
        at require (module.js:380:17)
        at Object.<anonymous> (/bundle/bundle/programs/server/boot.js:9:13)
        at Module._compile (module.js:456:26)
    -----------------------------------STDOUT-----------------------------------

    To see more logs type 'mup logs --tail=50'

    ----------------------------------------------------------------------------
(node:8968) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: 
-----------------------------------STDERR-----------------------------------

npm WARN deprecated semver behavior.
npm WARN package.json meteor-dev-bundle@0.0.0 No description
npm WARN package.json meteor-dev-bundle@0.0.0 No repository field.
npm WARN package.json meteor-dev-bundle@0.0.0 No README data
npm WARN cannot run in wd meteor-dev-bundle@0.0.0 node npm-rebuild.js (wd=/bundle/bundle/programs/server)
=> Starting meteor app on port:80

assert.js:93
  throw new assert.AssertionError({
        ^
AssertionError: "undefined" === "function"
    at wrapPathFunction (/bundle/bundle/programs/server/mini-files.js:77:10)
    at Object.<anonymous> (/bundle/bundle/programs/server/mini-files.js:108:24)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/bundle/bundle/programs/server/boot.js:9:13)
    at Module._compile (module.js:456:26)
-----------------------------------STDOUT-----------------------------------

To see more logs type 'mup logs --tail=50'

----------------------------------------------------------------------------
  

Все было успешно настроено. Я не понимаю, что вызывает ошибку. Пожалуйста, объясните ошибку и ее причины вместе с решением. Спасибо

О системе:
ОС: ubuntu 16.04
ОС для развертывания: Ubuntu 14.04 (на aws)
meteor: v1.4.1.2

Редактировать:

 On using meteor-up fork suggested, I am getting this error:
[52.41.186.122] - Installing Node.js
[52.41.186.122] - Installing Node.js: SUCCESS
[52.41.186.122] - Installing PhantomJS
[52.41.186.122] - Installing PhantomJS: SUCCESS
[52.41.186.122] - Setting up Environment
[52.41.186.122] - Setting up Environment: SUCCESS
[52.41.186.122] - Copying MongoDB configuration
[52.41.186.122] x Copying MongoDB configuration: FAILED
    Received exit code 0 while establishing SFTP session 
  

mup.js файл, который у меня есть, это:

 {
  // Server authentication info
  "servers": [
    {
      "host": "52.41.186.122",
      "username": "ubuntu",
      // "password": "ubuntu"
      // or pem file (ssh based authentication)
      "pem": "aws-key/xanthelabs.pem"
    }
  ],

  // Install MongoDB in the server, does not destroy local MongoDB on future setup
  "setupMongo": true,

  // WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
  "setupNode": true,

  // WARNING: If nodeVersion omitted will setup 0.10.43 by default. Do not use v, only version number.
  "nodeVersion": "4.4.7",

  // Install PhantomJS in the server
  "setupPhantom": true,

  // Show a progress bar during the upload of the bundle to the server.
  // Might cause an error in some rare cases if set to true, for instance in Shippable CI
  "enableUploadProgressBar": true,

  // Application name (No spaces)
  "appName": "deep-app",

  // Location of app (local directory)
  "app": "/home/cortana/Desktop/deep-app",

  // Configure environment
  "env": {
    "PORT": 8888,
    "ROOT_URL": "http://52.41.186.122",
    "MONGO_URL": "mongodb://localhost/meteor"
  },

  // Meteor Up checks if the app comes online just after the deployment
  // before mup checks that, it will wait for no. of seconds configured below
  "deployCheckWaitTime": 15
}
  

что здесь не так?

Комментарии:

1. У меня была куча проблем с mup, и в итоге я использовал fork. Возможно, эта версия подойдет и вам.

2. Нормально ли работает mongo по указанному URL-адресу mongo?

3. Попробуйте digital ocean, вот видеоблог для этого. medium.com/@abhaytalreja /…

4. попробуйте использовать mup logs —tail= 50, чтобы узнать, что произошло на самом деле, также в вашей новой конфигурации увеличьте deployCheckWaitTime до 60, но сначала давайте посмотрим, что скажут журналы mup

Ответ №1:

у меня были те же проблемы. добавьте dockerImage: "abernix/meteord:base", к себе часть meteor из MUP.json. Если он все еще не работает. замените Flow Router на React Router

Комментарии:

1. dockerImage: "abernix/meteord:base" должно решить вашу проблему

2. Да, я решил это с помощью dockerImage: "abernix/meteord:base" docker image.