首页 > 解决方案 > PM2 与 Meteor 在部署时出错

问题描述

我正在使用“ pm2-meteor ”模块在我的 Meteor 应用程序中使用 PM2。

[第一次使用 PM2]

我浏览了 pm2-meteor 中给出的文档,即:-

https://www.npmjs.com/package/pm2-meteor

并按照那里写的步骤。

我还出于配置目的创建了 json 文件,文件如下所示:-

{
  "appName": "test",
  "appLocation": {
    "local": "/home/test"
  },
  "meteorSettingsLocation": "/home/test/SETTINGS-DEVELOPMENT.JSON",
  "meteorSettingsInRepo": false,
  "prebuildScript": "",
  "meteorBuildFlags": "--architecture os.linux.x86_64",
  "env": {
    "ROOT_URL": "localhost:3000",
    "PORT": 3000,
    "MONGO_URL": ""
  },
  "server": {
    "host": "localhost",
    "username": "parveen",
    "password": "",
    "deploymentDir": "/opt/meteor-apps",
    "loadProfile": "",
    "interpreter": "",
    "exec_mode": "cluster_mode",
    "instances": 1
  }
} 

在此之后我运行命令即

pm2-meteor 部署

现在这个命令返回给我以下错误: -

events.js:165
      throw er; // Unhandled 'error' event
      ^

Error: connect ECONNREFUSED 127.0.0.1:22
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1174:14)
Emitted 'error' event at:
    at Socket.<anonymous> (/usr/local/lib/node_modules/pm2-meteor/node_modules/ssh2/lib/client.js:218:10)
    at Socket.emit (events.js:185:15)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at process._tickCallback (internal/process/next_tick.js:178:19)

据我了解,此错误可能是由于我的本地计算机上运行的任何其他 PM2 造成的。但是我检查了我的机器上没有运行任何其他 PM2 进程。

所以请帮我解决我在这里做错了什么。我创建的 JSON 文件是否有任何错误,或者 PM2 无法与本地计算机一起使用。

任何帮助将不胜感激!

谢谢

标签: javascriptnode.jsmeteornpmpm2

解决方案


错误信息:

Error: connect ECONNREFUSED 127.0.0.1:22

告诉您它无法连接到本地主机上的端口 22。这意味着您要么未在本地运行 sshd,要么未将其配置为接受连接。

部署到您的本地机器上,虽然这似乎是一个方便的想法,但效果并不好。您最好使用裸机或 EC2 实例之类的东西进行部署


推荐阅读