Установка 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 myapp | Zero-downtime перезагрузка |
| pm2 save | Сохранить список процессов |
| pm2 startup | Автозапуск при загрузке |
Автозапуск при перезагрузке
pm2 save
pm2 startup
# Выполните команду, которую выведет PM2
💡 В cluster mode PM2 автоматически балансирует нагрузку между воркерами и перезапускает упавшие инстансы.