Перейти к содержимому
VDS Panel
VDS Panel
Управление сервером
развертывание 20 Nisan 2026 · 8 dk okuma

Запуск проектов Node.js в рабочей среде с помощью PM2: Руководство по панели

Чтобы запустить проекты Node.js и Express в производство на VPS, установите на панели режим кластера PM2, автоматический перезапуск, ограничение памяти и настройки ротации журналов.

#node.js #pm2 #deploy #express #nestjs
VDS Panel
VDS Panel Ekibi
Ürünü geliştiren ekip

Node.js — это среда выполнения, которая работает с циклом событий в одном потоке. Эта архитектура обладает потрясающей производительностью для API-серверов, но у нее есть два ограничения: в случае сбоя процесс умирает, он не работает параллельно, как многие ядра ЦП. PM2 — это менеджер процессов, предназначенный для преодоления этих двух ограничений. Это один из ведущих инструментов, используемых для развертывания Production Node.js.

В этом руководстве мы объясним, что делает PM2 в рабочей среде, какие настройки вас интересуют и почему, а также как вы можете управлять этими настройками из интерфейса VDS Panel.

Bir bakışta
99.9%
Целевое время безотказной работы
4-8×
пропускная способность с кластером
<1 сек.
автоматический перезапуск
0
Перезагрузка во время простоя

Что делает PM2?

PM2 «демонизирует» ваши процессы Node.js. Хорошо:

  • Перезапускает процесс при сбое
  • Открывает более одного процесса и распределяет нагрузку (режим кластера)
  • Записывает логи в файл и ротирует их
  • Управляет бесперебойным трафиком между перезапусками
  • Контролирует память/процессор, перезапускает процесс, превышающий ограничения.

Node.js также можно запустить с помощью systemd, но вам необходимо установить вышеуказанные функции одну за другой.

Почему важен режим кластера?

Node.js по умолчанию запускает один поток. Если вы запускаете процесс Node на 4-ядерном VPS, 75% мощности вашего ЦП остается бездействующим. Режим кластера PM2 открывает столько рабочих процессов, сколько имеется ядер ЦП, и распределяет нагрузку между ними:

Р0

4-8×
большая пропускная способность
Режим кластера по сравнению с режимом одного экземпляра на 4-ядерном VPS.

Классическая установка или через панель

Классический

Ручной PM2 с терминалом

  • npm install pm2 -g (глобальная установка)
  • Напишите экосистему.config.js
  • Изучите команды запуска/остановки/перезагрузки pm2.
  • Отслеживание журналов с помощью журналов pm2
  • Запуск при загрузке с сохранением pm2 + запуск pm2
  • SSH + ручная перезагрузка для обновления
интерфейс

с панелью VDS

  • Добавьте проект, выберите Node.js
  • Установите количество экземпляров кластера с помощью ползунка
  • Ограничение памяти, автоматический перезапуск, автоматическая ротация журналов
  • Прямая трансляция журнала на панели
  • Автозапуск при загрузке (уже установлен)
  • Git push → автоматическая перезагрузка без простоев

Пошаговая установка с панелью

  1. 01
    Добавьте проект Node.js
    Свяжите или заархивируйте репозиторий GitHub. Панель обнаруживает package.json, использует «scripts.start» или указанную вами точку входа.
  2. 02
    Настройка кластера
    Ползунок количества экземпляров: от 1 (режим разветвления) до количества процессоров вашего VPS. Для большинства API идеально подходит 2–4.
  3. 03
    Установить ограничение памяти
    Например, 256 МБ, 512 МБ, 1 ГБ. Работник, превысивший этот предел, автоматически перезапустится. Утечка памяти допускается, приложение продолжает работать.
  4. 04
    Введите переменные окружения
    NODE_ENV=производство, DATABASE_URL, ключи API. Он не записывается в Git, он хранится в секретном хранилище панели и внедряется во время выполнения.
  5. 05
    Подключить домен
    Пользовательское доменное имя или субдомен. Панель автоматически получает сертификат Let's Encrypt и направляет обратный прокси-сервер nginx на ваш порт 3000.
  6. 06
    Нажмите «Развернуть»
    Ваше приложение будет запущено примерно через 90 секунд. Когда вы выполняете нажатие git, запускается перезагрузка с нулевым временем простоя.

Перезагрузка без простоев

Одна из самых мощных функций PM2 — изящная перезагрузка. При развертывании нового кода:

  1. PM2 запускает новых работников
  2. Новые работники начинают прислушиваться
  3. Ожидает, пока старые работники завершат свои текущие запросы (мягкое завершение работы)
  4. Старые работники закрываются

Пользователь не чувствует никаких помех. VDS Panel выполняет каждое развертывание с использованием этой стратегии.

Сигнал плавного отключения

Если ваше приложение Node.js прослушивает сигнал SIGINT или SIGTERM, когда PM2 завершает работу, это дает вашему приложению 10 секунд для выполнения задач очистки, таких как закрытие открытых соединений с БД и очистка кеша. Панель устанавливает это время по умолчанию.

Защита от утечек памяти

Утечки памяти Node.js являются обычным явлением; особенно когда прослушиватель событий забыт и глобальный кеш растет. Настройка P0 PM2 обеспечивает решение:

П1

В интерфейсе панели это значение представляет собой ползунок. Если вы указали 512 МБ, PM2 автоматически перезапустит работника, когда его размер превысит 512 МБ. Другие работники продолжают обрабатывать трафик.

Зависимости DEV в производстве

Он устанавливается с помощью панели P0, зависимости от разработчиков не устанавливаются. Если вы импортируете пакет в P1 во время выполнения, производственная сборка завершится неудачно. Вы увидите эти ошибки в журнале сборки панели.

Управление журналами

PM2 записывает P0 и P1 для каждого работника. Со временем эти файлы заполняются. Панель автоматически активирует ротацию бревен:

  • Поворот, когда размер файла достигает 100 МБ.
  • сохранено 5 старых файлов
  • Журналы транслируются в реальном времени из пользовательского интерфейса панели (без открытия терминала)

Мониторинг и оповещения

Для каждого процесса PM2 панель:

  • График процессора и памяти течет в реальном времени
  • Количество перезапусков отслеживается (слишком много перезапусков = сигнал об ошибке)
  • Телеметрия времени отклика (если добавлен экспресс-статус-монитор или аналогичный)
  • Автоматический запуск демона cpulimit при превышении лимита ЦП (защита соседних проектов)

Фреймворки Node.js

Панель VDS протестирована и автоматически обнаруживает следующие платформы:

  • Экспресс, обычно, быстро, просто
  • NestJS, корпоративный уровень, ориентирован на TypeScript.
  • Fastify, сверхбыстрая встроенная проверка схемы JSON.
  • Koa.js, современный преемник создателей Express.
  • Hapi, широкая экосистема плагинов, ориентированная на конфигурацию.
  • AdonisJS, Laravel-подобный MVC

Панель считывает ваш P0, определяет правильную структуру и выбирает соответствующий стартовый скрипт.

Заключение

PM2 необходим для производства Node.js. Режим кластера, автоматический перезапуск, ограничение памяти, ротация журналов, перезагрузка без простоев — все это осуществляется с помощью одного демона. VDS Panel позволяет управлять этими настройками из интерфейса, не запоминая команды терминала.

Чтобы запустить проект Node.js, вы можете завершить настройку панели за 8 минут и просмотреть свой первый проект, запросив демо-версию из нашей контактной формы.

Хотите попробовать это на своем сервере?

Свяжитесь с нами через контактную форму, и мы подготовим лицензию + план установки, подходящий для вашего сценария использования.

Мы здесь, когда вы будете готовы

Современный опыт развертывания на вашем собственном сервере, всего в одном сообщении.

Позвольте нам понять ваш сценарий использования и подготовить для вас соответствующую лицензию и план установки. Наше среднее время ответа составляет менее 24 часов.