Systemd

Хостинг· DeploySmith ·

PM2 или systemd для Node.js: что выбрать

Средний · 9 мин чтения

Каждое Node.js-приложение, которое живёт в проде дольше недели, рано или поздно задаёт один и тот же вопрос: что будет держать его на плаву при краше и что поднимет его заново после перезагрузки сервера? Два ответа доминируют - PM2, нативный для Node менеджер процессов, и systemd, инит-система, которая уже живёт внутри практически любого современного дистрибутива Linux. Они конкурируют не совсем на одном уровне. PM2 - это userspace-демон, который вы ставите поверх ОС. systemd - это сама ОС. Понимание этой границы - разница между конфигурацией, которая годами работает молча, и той, что воюет с вами при каждом деплое. В этом гайде мы разберём реальное поведение обоих на основе официальной документации, чтобы вы выбирали осознанно. Что это вообще такое PM2 - демон-менеджер процессов, написанный под Node.js, устанавливается через npm. Вы ставите его командой npm install pm2@latest -g, а запускаете приложение через pm2 start app.js. PM2 демонизирует процесс, держит его живым и даёт CLI для просмотра статуса, хвостов логов и релоада приложения.[1] Его главная «фишка» под Node - кластерный режим: с флагом -i он раскидывает нагрузку по всем ядрам CPU без единой правки кода.[2] …

Читать далее →