В этой статье я расскажу о самом удобном, на мой взгляд, диспетчере процессов. Покажу, как его установить и настроить свои проекты (например: скрипт для автопостинга, сервис на ReactJS).
PM2 запускает приложения и скрипты в режиме 24/7 и решает проблему с их вылетами путем автоматического перезапуска с сохранением лога. Это решение особенно полезно для тех, кто держит на своем сервере большое количество скриптов и нуждается в их удобном управлении.
Рассмотрим установку и настройку на примере Ubuntu 18.04.
Установка
Так как PM2 написан на Node.js и устанавливается с помощью npm, нужно установить их на свой виртуальный сервер:
sudo apt install nodejs sudo apt install npm
Теперь устанавливаем сам диспетчер процессов:
npm install pm2 -g
Готово! PM2 на сервере.
Настройка
PM2 в основном предназначен для приложений Node.js, но работает и с остальными языками программирования. Чтобы запустить приложение, используем команды в консоли.
Для Node.js:
pm start app_name.js
Для остальных языков программирования (на примере Python 3):
pm2 start app_name.py --interpreter=python3
Если ваше приложение завершит работу с ошибкой, PM2 автоматически перезапустит его, что очень удобно.
После запуска скриптов и приложений можно посмотреть информацию о них с помощью команды в консоли:
pm2 list
Пример того, что мы увидим:
В таблице показано количество рестартов, потребляемая память и нагрузка на процессор от приложений.
Для удаления, запуска, рестарта и остановки приложений из списка нужно посмотреть порядковый номер (id) процесса в таблице, которую можно вызвать командой, указанной выше, и написать команды в консоли.
Остановка:
pm2 stop id
Запуск:
pm2 start id
Рестарт:
pm2 restart id
Удаление из списка:
pm2 delete id
Также можно просмотреть логи отдельных приложений. Для этого используем эту команду:
pm2 monit
И выбираем свое приложение из списка.
Если вам неудобно следить за логами и запуском приложений через консоль, то это можно делать даже в браузере, установив веб-версию PM2 одной командой:
pm2 plus
После этого вводим свои данные для регистрации и переходим по ссылке, которая отобразится в консоли.
Пример того, что мы увидим:
Мы разобрали основные команды менеджера процессов. Удачи в ваших проектах!
Комментарии
pm2 start app_name.py --interpreter=python3