"Unhandled 'error' event " 或者如何在 NGINX 上使用 mup 部署 meteor 应用程序?

"Unhandled 'error' event " or How to deploy meteor app with mup on NGINX?

我想用 MUP 构建一个 Meteor 应用程序到 NGINX 驱动的服务器。半年前,我搞定了,一切都很好,但现在出现这个错误:

events.js:141
  throw er; // Unhandled 'error' event 
Error: connect ECONNREFUSED 188.166.60.237:22
at Object.exports._errnoException (util.js:907:11)
at exports._exceptionWithHostPort (util.js:930:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1081:14)

这是我的 MUP.js:

module.exports = {
  servers: {
    one: {
      // TODO: set host address, username, and authentication method
      host: 'myHostIp',
      username: 'root',
      // pem: './path/to/pem'
      password: 'password'
      // or neither for authenticate from ssh-agent
    }
  },

  app: {
    // TODO: change app name and path
    name: 'realmotion',
    path: '../',

    servers: {
      one: {}
    },

    buildOptions: {
      serverOnly: true,
    },

    env: {
      // TODO: Change to your app's url
      // If you are using ssl, it needs to start with https://
      PORT:'8080',
      ROOT_URL: 'https://realmotion.io',
      MONGO_URL: 'mongodb://localhost/meteor'
    },

    // ssl: { // (optional)
    //   // Enables let's encrypt (optional)
    //   autogenerate: {
    //     email: 'email.address@domain.com',
    //     // comma separated list of domains
    //     domains: 'website.com,www.website.com'
    //   }
    // },

    docker: {
      // change to 'kadirahq/meteord' if your app is using Meteor 1.3 or older
      image: 'kadirahq/meteord'
    },

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true,
    deployCheckWaitTime: 80
  },

  mongo: {
    version: '3.2.12',
    port: 27017,
    servers: {
      one: {}
    }
  }
};

只是为了将来为其他人记录这一点 - 这个错误是由于 SSH 端口被防火墙阻止而引起的。确保您的部署主机可通过 SSH 访问。

如何执行此操作取决于您的特定系统; Ubuntu(取决于版本)将需要对 ufwiptables 的推荐,RHEL 系列将需要 firewallctliptables。只需查找您的特定系统的防火墙文档。