Как включить 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.