Поиск по сайту:

Как включить PM2 для автоматического запуска приложения Node.js при загрузке системы


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

Сценарий запуска настраивает PM2 как службу в системе init. При перезапуске сервера он автоматически перезапустит PM2, а затем перезапустит все приложения/процессы Node.js, которыми он управляет.

В этой статье мы покажем вам, как развернуть PM2 как службу для надежного управления вашими приложениями Node.js. В этом руководстве тестовая система использует службу systemd и системный менеджер. Все команды в этой статье будут выполняться от имени root (используйте sudo, когда это необходимо, чтобы пользователь с правами мог вызвать их).

Создать сценарий запуска PM2 для системы инициализации

PM2 предназначен для работы со стандартной системой init в системе Linux (которую он может автоматически обнаружить) для создания сценария запуска и настройки PM2. > как службу, которую можно перезапустить при загрузке системы.

Чтобы сгенерировать сценарий запуска, просто запустите следующую команду от имени пользователя root:

pm2 startup

Подкоманда startup сообщает PM2 обнаружить доступную систему инициализации, сгенерировать конфигурацию и включить систему запуска.

Вы также можете явно указать систему инициализации следующим образом:

pm2 startup systems

Чтобы убедиться, что служба запуска PM2 запущена и работает под systemd, выполните следующую команду (замените pm2-root.service фактическим имя вашего сервиса, проверьте вывод предыдущей команды):

systemctl status pm2-root.service

Запустите приложения/процессы Node.js

Далее вам нужно запустить приложения Node.js с помощью PM2 следующим образом. Если они у вас уже настроены и запущены через PM2, вы можете пропустить этот шаг:

cd /var/www/backend/api-v1-staging/
pm2 start src/bin/www.js -n api-service-staging

Далее вам необходимо зарегистрировать/сохранить текущий список процессов, которыми вы хотите управлять, с помощью PM2, чтобы они повторно запускались при загрузке системы (каждый раз, когда это ожидается или при неожиданном перезапуске сервера), путем выполнив следующую команду:

pm2 save

Проверка автоматического запуска приложений Node.js PM2 при загрузке

Наконец, вам нужно проверить, работает ли установка нормально. Перезагрузите систему и проверьте, все ли процессы Node.js работают под управлением PM2.

pm2 ls
or
pm2 status

Обратите внимание, что вы можете воскресить процессы вручную, выполнив следующую команду:

pm2 resurrect

Отключить систему запуска

Вы можете отключить систему запуска, выполнив подкоманду unstartup, как показано.

pm2 unstartup
OR
pm2 startup systemd

Чтобы обновить сценарий запуска, сначала отключите его, а затем запустите снова, как показано.

pm2 unstartup
pm2 startup

Ссылка: Генератор сценариев запуска PM2.