Об этом проекте

PM2 — это проверенный в бою продакшн-менеджер процессов, предназначенный для приложений Node.js, TypeScript и Bun. Он поддерживает приложения в работающем состоянии бессрочно, обеспечивает перезагрузку без простоев и упрощает типичные задачи системного администрирования. PM2 поддерживает Linux, macOS и Windows, и требует Node.js 18+ или Bun 1+. Ключевые возможности включают: - **Управление процессами**: Запуск, остановка, перезапуск и удаление приложений простыми командами. PM2 демонизирует и контролирует процессы, поддерживая их жизнь навсегда. - **Кластерный режим и балансировка нагрузки**: PM2 может запускать несколько процессов Node.js и распределять HTTP/TCP/UDP запросы между ними, значительно увеличивая пропускную способность на многоядерных машинах. Поддерживается указание количества экземпляров или использование 'max' для задействования всех доступных CPU. - **Перезагрузка без простоев**: Горячая перезагрузка позволяет обновлять приложения без какого-либо простоя, что важно для продакшн-среды. - **Поддержка контейнеров**: PM2 предоставляет `pm2-runtime`, замену для `node`, обеспечивающую бесшовную контейнеризацию приложений Node.js в Docker. - **Терминальный мониторинг**: Команда `pm2 monit` обеспечивает мониторинг всех запущенных процессов в реальном времени прямо из командной строки. - **Управление логами**: PM2 предлагает комплексное управление логами с поддержкой стандартного, сырого, JSON и форматированного вывода. Ротация логов доступна через модуль `pm2-logrotate`. - **Стартовые скрипты**: PM2 может генерировать и настраивать стартовые скрипты для systemd, upstart, systemv, openrc, launchd, rcd, rcd-openbsd и smf init-систем, обеспечивая выживание процессов после перезагрузки сервера. - **Мониторинг PM2+**: Облачная панель для мониторинга и управления приложениями на нескольких серверах. PM2 устанавливается глобально через npm или Bun и лицензируется под AGPL 3.0.