Я получаю сообщение об ошибке в PM2 для моего приложения nodejs, использующего петлевой API после развертывания - PullRequest
0 голосов
/ 16 января 2019

Я развернул мое приложение nodejs, которое использует loopback api. Есть два других приложения, которые работают с использованием скрипта pm2 в AWS Ec2.

Я попытался с Stop pm2 и запустить его снова, Завершить процесс и, наконец, перезагрузить экземпляр EC2

После запуска pm2 ecosystem.config.js и после входа в веб-интерфейс формы отображается следующая ошибка:

  /home/ubuntu/.pm2/logs/HGBackend-error.log last 15 lines:
  0|HGBacken |     at process._tickCallback 
  (internal/process/next_tick.js:63:19)
  Error: listen EADDRINUSE 0.0.0.0:3000

Мой сценарий ecosystem.config.js:

 module.exports = {
 apps : [
  {
    name      : "HGBackend",
    cwd       : "hgbackend/server",
    script    : "server.js",
    env_staging       :
     {
        "PORT": 3000,
        "NODE_ENV": "staging",
        "accesskeyAws":"123456"
    }
  },
  {
    name       : "HGBlockchain",
    cwd        : "hgblockchain/localgrammes",
    script     : "index.js"
    // args       : "start:staging"
   // instances  : 4,
   // exec_mode  : "cluster"
  },
  {
   name   : "HGWeb",
   cwd    : "hgweb/src/server",
   script : "server.js",
   //  env : {
  //  NODE_ENV: '.env.staging'
  //  },
 description: ""
     } 

 ]}

Приложение должно работать без сбоев. Приложение usrl: http://app.honeygram.co, которое использует маршрут 53 и перенаправляет через ELB

1 Ответ

0 голосов
/ 18 января 2019

Порт, который вы пытаетесь использовать (например, 3000), уже используется. Поэтому попробуйте использовать другой порт. OR

netstat -nlp | grep 3000

эта команда выдаст вам идентификатор процесса, который использовал порт 3000, а затем уничтожит его kill -9 <processID>

...