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

·2 мин. чтения·

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

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

Если у вас нет операционки Linux под рукой, советую создать Linux контейнер для тестов через Docker.

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

Официальная инструкция рекомендует устанавливать 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 доступна по этой ссылке.

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

Как выглядели коробки с дисками игры Lineage 2
Поскольку оригинальные коробки с дисками игры Lineage 2 никогда не появлялись... Читать далее
·1 мин. чтения
Режим разработчика в Lineage 2
Чтобы переключиться в режим разработчика, нужно отредактировать файл... Читать далее
·3 мин. чтения
Giran Castle Town из бумаги
Нашел на просторах интернета. Автор неизвестен... Читать далее
·1 мин. чтения

© geekrainian.com