Как установить и настроить PM2 на серверах Linux
Развертывание – один из наиболее важных и решающих этапов разработки программного обеспечения. Правильная стратегия развертывания жизненно важна для обеспечения наилучшего взаимодействия с пользователями при эффективном использовании ваших услуг. Однако этот процесс также сопряжен со своими проблемами.
Node.js, среда выполнения JavaScript с открытым исходным кодом, является популярным выбором для создания внутренней инфраструктуры вашего приложения, позволяя запускать JavaScript вне веб-браузеров. Но что, если ваше приложение Node.js выйдет из строя в производственной среде? Узнайте, как избежать подобных сценариев, в этой статье.
Что такое PM2 и зачем он вам нужен?
PM2 – это диспетчер процессов демона, который позволяет вам поддерживать приложения Node.js в рабочем состоянии вечно, перезагружать их без простоев, управлять ведением журнала приложений, мониторингом и кластеризацией.
Представьте, что ваш веб-сервер Node.js выходит из строя из-за какой-то ошибки во время выполнения. Без использования чего-то вроде PM2 вам придется периодически вручную отслеживать статус вашего приложения и перезапускать его всякий раз, когда оно выходит из строя. PM2 помогает автоматизировать этот процесс и поддерживать ваше приложение в сети 24 часа в сутки, 7 дней в неделю, даже если что-то пойдет не так.
Установка PM2 на серверах Linux
Перед установкой PM2 убедитесь, что на вашем сервере Linux установлены Node.js и NPM, чтобы загрузить пакет PM2 из репозиториев Node Package Manager .
После того, как вы запустите Node.js на своем сервере, установите PM2, выполнив эту команду:
npm install -g pm2
Выход:
Флаг -g в приведенной выше команде означает Global и позволяет использовать PM2 во всех ваших приложениях Node.js. Вам может потребоваться добавить sudo в начале команды, в зависимости от разрешений, которые есть у вашей учетной записи.
Запуск приложений узла с PM2
После завершения процесса установки перейдите в каталог, в котором находится ваше приложение Node.js, с помощью команды cd . Внутри каталога проекта вы можете выполнить файл JavaScript, используя PM2, с помощью приведенной ниже команды:
pm2 start filename.js
Например, если точка входа в ваше приложение Node.js находится внутри файла index.js , вы можете запустить этот файл следующим образом:
pm2 start index.js
Если вам нужно внести какие-либо изменения в ваше приложение, вы можете сделать это с помощью текстового редактора командной строки, чтобы отредактировать код, а затем перезапустить экземпляр приложения PM2 с помощью этой команды:
pm2 restart filename.js
Вместо этого, чтобы полностью закрыть приложение, используйте эту команду:
pm2 stop filename.js
Вместо запуска одного файла с PM2 вы также можете выполнять сценарии NPM, присутствующие в файле package.json вашего приложения Node.js. Например, если вы хотите запустить сценарий запуска , структурируйте команду следующим образом:
pm2 start npm --name <app_name> -- start
Просмотр журналов и статистики
Для отслеживания ошибок, которые могут возникнуть во время выполнения, PM2 предоставляет вам возможность проверять журналы, создаваемые вашим приложением. Вот как вы можете их просмотреть:
pm2 logs <app_name>
Чтобы отслеживать все процессы, которые в настоящее время выполняются, PM2 поставляется с удобной панелью мониторинга на основе терминала для наблюдения за использованием ЦП и ОЗУ, доступ к которой вы можете получить с помощью этой команды:
pm2 monit
Чтобы просмотреть остальные сведения и метаданные, такие как версия приложения, количество перезапусков, время безотказной работы, аргументы скрипта и многое другое:
pm2 show <app_name>
Легкое развертывание приложений Node.js в рабочей среде
Использование диспетчера процессов, такого как PM2, может значительно сократить накладные расходы, связанные с постоянным мониторингом состояния и времени безотказной работы вашего приложения Node.js. Благодаря встроенному балансировщику нагрузки вы можете ожидать повышения производительности и надежности своих услуг.
Говоря о развертывании, вы, скорее всего, использовали бы виртуальную машину Linux для развертывания приложений в облаке. Не знаете, как вы могли это сделать? Вот руководство, которое поможет вам начать работу с виртуальными машинами в Azure.