Repolode
Unitech

Unitech/pm2

Менеджер процессов для Node.js и Bun в production со встроенным балансировщиком нагрузки, который поддерживает процессы и перезапускает их без простоя.

Звёзды
43,311
Форки
2,734
Открытые issues
1,109
Последний коммит
23 часа назад

Что это?

PM2 — менеджер процессов для запуска приложений на Node.js и Bun в production. Он поддерживает процессы, перезапускает их после сбоев, а также позволяет запускать и управлять другими программами, например скриптами Python или бинарными файлами, доступными в PATH.

В кластерном режиме PM2 запускает несколько экземпляров приложения Node.js и распределяет между ними HTTP-, TCP- и UDP-трафик, чтобы приложение могло использовать все ядра CPU. Команда reload обновляет работающие приложения без простоя. PM2 также предоставляет мониторинг в терминале, просмотр и ротацию логов, а ещё умеет создавать скрипты автозапуска для systemd, launchd и других init-систем, чтобы процессы перезапускались вместе с сервером.

Специальная команда pm2-runtime предназначена для запуска приложений внутри Docker-контейнеров. PM2 работает на Linux, macOS и Windows и поддерживает Node.js 18+ и Bun 1+.

Ключевые возможности

  • 01Поддерживает работу процессов Node.js, Bun, Python и других программ и перезапускает их после сбоев.
  • 02В кластерном режиме распределяет HTTP-, TCP- и UDP-трафик между несколькими экземплярами.
  • 03Перезапускает работающие приложения без простоя.
  • 04Мониторинг в терминале и централизованный просмотр логов в формате JSON и в удобном для чтения виде.
  • 05Создаёт скрипты автозапуска для systemd, launchd и других init-систем.

Сценарии использования

  • Запуск API на Node.js в production на одном сервере с использованием всех ядер CPU.
  • Развёртывание приложений в Docker-контейнерах с помощью команды pm2-runtime.
  • Обновление работающего сервиса без разрыва соединений во время выпуска новой версии.
  • Поддержание фоновых сервисов после перезагрузки сервера.

Быстрый старт

  1. 1

    Установите PM2 глобально с помощью npm

    npm install pm2 -g
  2. 2

    Запустите приложение с помощью PM2

    pm2 start app.js
  3. 3

    Выведите список запущенных приложений

    pm2 list

Что важно знать

  • Лицензия — AGPL 3.0, лицензия с копилефтом. Чтобы использовать другие лицензии, свяжитесь с сопровождающими проекта.
  • Требуется Node.js версии 18 или выше либо Bun версии 1 или выше.

Темы

Частые вопросы

Что такое pm2?
Менеджер процессов для Node.js и Bun в production со встроенным балансировщиком нагрузки, который поддерживает процессы и перезапускает их без простоя. PM2 — менеджер процессов для запуска приложений на Node.js и Bun в production. Он поддерживает процессы, перезапускает их после сбоев, а также позволяет запускать и управлять другими программами, например скриптами Python или бинарными файлами, доступными в PATH.
pm2 можно использовать бесплатно? Какая у него лицензия?
pm2 распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pm2 всё ещё поддерживается?
Активно поддерживается. Последний коммит в pm2 — 21 окт. 2026 г..
Для чего можно использовать pm2?
Запуск API на Node.js в production на одном сервере с использованием всех ядер CPU. Развёртывание приложений в Docker-контейнерах с помощью команды pm2-runtime. Обновление работающего сервиса без разрыва соединений во время выпуска новой версии. Поддержание фоновых сервисов после перезагрузки сервера.
Как установить pm2?
Установите PM2 глобально с помощью npm: npm install pm2 -g Запустите приложение с помощью PM2: pm2 start app.js Выведите список запущенных приложений: pm2 list
Где скачать pm2?
Исходный код и инструкции по установке — на GitHub: https://github.com/Unitech/pm2

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты