{G}eekrainian

Как использовать PM2 для Node.js

3 мин. чтения

Read in English.

Программирование

PM2 – это инструмент для управления процессами Node.js позволяющий кластеризировать приложение и гибко распределять нагрузку между ядрами процессора. В основном применяется в средах, где необходимо запустить приложение на Node.js и забыть о нём (с остальными языками тоже можно использовать, но об этом в другой раз).

В качестве примера используется VPS-хостинг с предустановленной Ubuntu 20.04.3 LTS. Имейте в виду, что принципиальной разницы между несколькими последними версиями Ubuntu не должно быть.

Требования

Вам понадобится предварительно установить Node.js и написать простейшее веб приложение. Как это сделать описано в другой статье.

Установка PM2

Официальная инструкция рекомендует устанавливать PM2 как пакет для NPM или Yarn:

sudo npm install pm2@latest -g
...
sudo yarn global add pm2

Запуск приложения

Давайте рассмотрим как запустить наше тестовое приложение через PM2.

Выполните команду:

sudo pm2 start /home/index.js

Результат успешного запуска:

[PM2] PM2 Successfully daemonized
[PM2] Starting /home/index.js in fork_mode (1 instance)
[PM2] Done.

Проверим список запущенных приложений и попутно узнаем потребление памяти и процессора:

sudo pm2 list

Результат:

┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ index              │ fork     │ 0    │ online    │ 0%       │ 46.4mb   │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘

Чтобы остановить все активные приложения используйте команду:

sudo pm2 stop all

Или чтобы остановить конкретное приложение (в нашем случае id = 0):

sudo pm2 stop 0

Результат:

┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ index              │ fork     │ 0    │ stopped   │ 0%       │ 0b       │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘

Чтобы PM2 автоматически запускался при старте системы и поднимал наше приложение, необходимо выполнить следующую команду:

sudo pm2 startup systemd

Чтобы отключить автоматический запуск при старте системы:

sudo pm2 unstartup systemd

Бонус

Шпаргалка по командам PM2 доступна по этой ссылке.

Эта история оказалось полезной? 🤔

Поддержите меня чашечкой кофе и станьте спонсором нового контента!

BuyMeACoffee

Ko-Fi

Поделиться

Похожие публикации

Улучшаем процесс командной работы в Trello

Краткая инструкция о том, как расширить возможности Trello и добавить функциональность подобную JIRA... Читать далее

© geekrainian.com

  • Русский
  • English
RSSКарта сайта