Как создать файл pm2 ecos.json для приложения node js express, которое начинает использовать npm start?

Я хочу использовать pm2 для приложения node js express. Я могу запустить сервер node js с помощью npm start. Я хочу настроить то же самое в файле экосистемы.json, чтобы я мог начать с использования инструмента pm2. Также я хочу начать в кластерном режиме.

Обратите внимание, что я могу запустить приложение node js, используя команду ниже

pm2 start "/ usr / bin / npm" --name "blaze-node" - start -i 0

С приведенной выше командой есть две проблемы.

  1. Он не настроен в файле экосистемы.json.
  2. Он не подчиняется параметру -i 0. Это только запуск единичного экземпляра.

Дополнительная информация

Ниже представлен файл экосистемы.json.

   {
   "apps":[
      {
         "name":"blaze-node",
         "script":"npm",
         "exec_mode":"cluster",
         "instances":"0",
         "env_dev":{
            "watch":true,
            "NODE_ENV":"dev"
         },
         "env_qa":{
            "watch":false,
            "NODE_ENV":"qa"
         },
         "env_prod":{
            "watch":false,
            "NODE_ENV":"prod"
         }
      }
   ]
}

Если я выполню приведенную ниже команду pm2 start architecture.json --env dev, она покажет хороший результат, показывающий, что процессы были запущены. Но на порте 3000 ничего не слушается.

Вместо этого, когда я использую команду без использования файла экосистемы.json, как показано ниже

pm2 start "/ usr / bin / npm" --name "blaze-node" - start -i 0

Все работает нормально, кроме тех двух проблем, о которых говорилось выше.

Пожалуйста помоги.


person varun249    schedule 23.11.2016    source источник
comment
Я могу запустить приложение в кластерном режиме, используя команду ниже pm2 start / usr / bin / npm --name blaze-node -i 0 - run start Обратите внимание, что указанная выше команда по-прежнему не использует ecosytem.json файл.   -  person varun249    schedule 23.11.2016
comment
Что вы получаете со статусом pm2 и журналами pm2?   -  person Amiram Korach    schedule 23.11.2016
comment
я могу запустить приложение в режиме кластера с помощью следующей команды pm2 start / usr / bin / npm --name blaze-node -i 0 - run start Обратите внимание, что указанная выше команда по-прежнему не использует файл ecosytem.json . - Если вы не используете файл экосистемы.json, даже в этом случае вам необходимо запустить команду pm2 start из родительского каталога символической ссылки.   -  person varun249    schedule 02.05.2017


Ответы (1)


Вероятно, для этого можно использовать комбинацию script, args и node_args в файле pm2 config.js. Звучит нелогично, когда pm2 точка входа скрипта вызывает npm точку входа скрипта для вызова скрипта! На этом этапе лучше обойти package.json и добиться того же выполнения скрипта, используя эти 3 параметра конфигурации в сочетании.

person Andy Lorenz    schedule 25.04.2019