Node.js + PM2: деплой и автозапуск приложений

VDS / VPS серверы · 12.02.2025
Node.js + PM2: деплой и автозапуск приложений

Установка Node.js и PM2

# Node.js 20 LTS через NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install nodejs -y

# PM2 глобально
npm install -g pm2

# Проверка
node --version && pm2 --version

Запуск приложения

# Простой запуск
pm2 start app.js --name myapp

# Cluster mode (использует все CPU)
pm2 start app.js --name myapp -i max

# Из ecosystem.config.js
pm2 start ecosystem.config.js

ecosystem.config.js

module.exports = {
  apps: [{
    name: 'myapp',
    script: './server.js',
    instances: 'max',
    exec_mode: 'cluster',
    watch: false,
    max_memory_restart: '500M',
    env: {
      NODE_ENV: 'production',
      PORT: 3000
    }
  }]
}

Основные команды PM2

КомандаОписание
pm2 listСписок процессов
pm2 logs myappЛоги приложения
pm2 monitМониторинг в реальном времени
pm2 reload myappZero-downtime перезагрузка
pm2 saveСохранить список процессов
pm2 startupАвтозапуск при загрузке

Автозапуск при перезагрузке

pm2 save
pm2 startup
# Выполните команду, которую выведет PM2
💡 В cluster mode PM2 автоматически балансирует нагрузку между воркерами и перезапускает упавшие инстансы.
← Назад в базу знаний Задать вопрос поддержке