Notes


PM2 (Process Manager 2) — это мощный менеджер процессов для Node.js, который позволяет легко управлять cерверами, обеспечивая их автоматический перезапуск, мониторинг и управление нагрузкой.

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

ecosystem.config.js — это файл конфигурации PM2, который позволяет описать параметры запуска приложений, их окружение и другие настройки. Его ложим в корень проекта.

Пример файла

module.exports = {
  apps: [
    {
      name: "webpack-dev-server",
      cwd: "/Volumes/SSD/projects/yvelious_github_io", // ← path to the project in remote maschine
      script: "npm",
      args: "run server",
      env: {
        NODE_ENV: "server",
      },
      watch: false, // watch has yet in webpack config
    },
  ],
};

Чем полезен PM2

Он может работать в фоновом режиме, что позволяет запускать серверы и приложения в фоне, даже после закрытия терминала. PM2 обеспечивает автоматический перезапуск приложений в случае их сбоя, что повышает надежность серверов. Можно настроить что бы запускался при старте системы, что позволяет автоматически запускать приложения после перезагрузки сервера. Из командной строки можно управлять процессами, получать информацию о состоянии приложений, просматривать логи и выполнять другие операции, перезапуск или остановку приложений.

  • pm2 logs — смотреть логи сервера.
  • pm2 monit — мониторинг состояния серверов.
  • pm2 restart yvelious-dev-server — перезапуск вручную.
  • pm2 start yvelious-dev-server — запуск
  • pm2 stop yvelious-dev-server — остановить
  • pm2 delete yvelious-dev-server — удалить
  • pm2 save && pm2 startup — автозапуск при старте системы.