Что такое PM2?
PM2 (Process Manager 2) — это продвинутый менеджер процессов для приложений Node.js, который предоставляет встроенные возможности мониторинга, автоматического перезапуска и балансировки нагрузки. Он позволяет запускать JavaScript-приложения в production-среде, отслеживать их состояние, собирать метрики производительности и управлять несколькими процессами одновременно.
Зачем нужен мониторинг?
В production-среде критически важно знать, что происходит с приложением: не упало ли оно, не превышает ли потребление памяти, не возникает ли ошибок. PM2 решает эти задачи, предоставляя:
- Автоматический перезапуск при сбоях
- Сбор метрик CPU и RAM
- Логирование stdout/stderr
- Встроенный веб-интерфейс мониторинга (PM2 Plus)
Установка
Установите PM2 глобально через npm:
npm install -g pm2Основные функции
- Запуск приложения:
pm2 start app.js - Мониторинг в реальном времени:
pm2 monit - Просмотр списка процессов:
pm2 list - Логи:
pm2 logs - Веб-панель:
pm2 plus(требуется регистрация)
Пример кода на JavaScript (Node.js)
Создайте простое приложение app.js:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello from PM2!\n');
});
server.listen(3000, () => {
console.log('Server running on port 3000');
});Запустите с мониторингом:
pm2 start app.js --name my-app
pm2 monitВы увидите в консоли живые графики потребления памяти и CPU, а также количество перезапусков.
Когда использовать
PM2 идеально подходит для:
- Production-серверов Node.js
- Микросервисных архитектур
- Приложений, требующих автоматического восстановления после сбоев
- Ситуаций, когда нужен простой мониторинг без внешних сервисов
Заключение
PM2 — это must-have инструмент для любого разработчика Node.js, который хочет обеспечить стабильную работу своих приложений. Он прост в установке, не требует сложной настройки и предоставляет все необходимые функции для мониторинга и управления процессами.