Есть ли способ для pm2 запустить скрипт запуска npm или вам просто нужно запустить pm2 start app.js
Так в разработке
npm start
Тогда в производстве с pm2 вы бы запустить что-то вроде
pm2 start 'npm start'
Есть эквивалентный способ сделать это в forever
:
forever start -c "npm start" ./
Ответы:
PM2 теперь поддерживает запуск npm:
Чтобы назначить имя процессу PM2, используйте
--name
параметр:источник
--name "app"
но он просто установил его в npm.npm start
в файле процесса?Те, кто использует скрипт конфигурации, например
.json
файл, для запуска процесса pm2, могут использоватьnpm start
любой другой скрипт, подобный этому.мой-приложение-pm2.json
Тогда просто -
Редактировать - для обработки сценария использования, когда у вас есть этот конфигурационный скрипт в родительском каталоге и вы хотите запустить приложение в подкаталоге, а затем использовать
cwd
атрибут.Предполагая, что наше приложение находится в подкаталоге
nested-app
относительно этого файла конфигурации, то -Более подробно здесь .
источник
start
одном из них находится package.json с информацией о скрипте. Посмотрите эту суть: gist.github.com/gianpaj/04c5680a8275616aac5e46374e07f673 Когда я запускаю это, он не знает, откудаnpm
следует бежать. Спасибоcwd
атрибут. Проверьте мой отредактированный ответ :)sudo pm2 start config.json
Да. Использование
pm2 start npm --no-automation --name {app name} -- run {script name}
. Оно работает.--no-automation
Флаг там , потому что без него PM2 не будет перезапущен приложение , когда он выходит из строя.источник
pm2 --help | grep 'no-autom'
возвращает мне одну строку в версии 1.0.2Использовать
npm run
pm2 start npm --name "{app_name}" -- run {script_name}
источник
Я написал сценарий оболочки ниже (по имени
start.sh
). Потому что у меняpackage.json
естьprestart
вариант. Поэтому я хочу бежатьnpm start
.Затем начните
start.sh
с pm2.источник
startOrRestart
команды.Да, мы можем, теперь pm2 поддерживает npm start, - имя для вида приложения.
источник
Смотрите, чтобы включить кластеризацию:
Что вы думаете?
источник
-i 0
?Если вы используете PM2 с помощью узловых модулей, а не глобально, вам нужно будет установить,
interpreter: 'none'
чтобы вышеуказанные решения работали. Связанные документы здесь .В
ecosystem.config.js
:источник
Мне нужно было запустить определенный скрипт npm в моем приложении в pm2 (для каждого env). В моем случае это было, когда я создавал промежуточную / тестовую службу
Команда, которая работала для меня (аргументы должны быть направлены таким образом):
Примеры:
Надеюсь, это помогло
источник
pm2 start npm --name "custom_pm2_name" -- run prod
Это сработало для меня, когда другие не сделали
источник
Вы должны указать название приложения, например, myapp.
pm2 start npm --name "appName" -- start
Вы можете проверить это по
pm2 list
Вы также можете добавить время
pm2 restart "id" --log-date-format 'DD-MM HH:mm:ss.SSS'
илиpm2 restart "id" --time
вы можете проверить журналы по
pm2 log "id"
илиpm2 log "appName"
получить логи для всего приложения
pm2 logs
источник
Не забывайте про место перед началом
поэтому правильная команда:
источник
К сожалению, похоже, что pm2 не поддерживает те функции, которые вы запрашивали, https://github.com/Unitech/PM2/issues/1317 .
В качестве альтернативы предлагается использовать
ecosystem.json
файл « Начало работы с развертыванием», который может включать настройки для рабочей среды и сред разработки. Тем не менее, он все еще используетсяnpm start
для загрузки вашего приложения.источник
However, this is still using npm start to bootstrap your app.
Можете ли вы на самом деле запуститьnpm start
с помощьюpm2
?может работать
если вы хотите развернуть несколько серверов, вы можете сделать это. вместо pm2 запусти npm - запусти
источник
Чтобы запустить PM2 с
npm start
методом и дать емуname
, запустите это,pm2 start npm --name "your_app_name" -- start
Чтобы запустить его, передавая формат даты для журналов,
pm2 start npm --name "your_name" --log-date-format 'DD-MM HH:mm:ss.SSS' -- start
источник
Теперь вы можете использовать после:
Следуйте по https://github.com/Unitech/pm2/issues/1317#issuecomment-220955319
источник
Он отлично работает на CentOS 7
PM2 версия 4.2.1
давайте рассмотрим два сценария:
1. npm start //server.js
2. запустить npm main //main.js
источник