Node.js на VPS: деплой с PM2 и Nginx
Как запустить Node.js приложение на VPS: PM2 для автозапуска, кластеризация, логи и Nginx reverse proxy.
Node.js на VPS без process manager падает при закрытии SSH. PM2 решает это за одну команду.
Установка
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install nodejs -y
sudo npm install -g pm2
Запуск приложения
cd /var/www/myapp
npm ci --production
pm2 start index.js --name myapp
pm2 save
pm2 startup
Кластер на все ядра:
pm2 start index.js -i max --name myapp
Nginx reverse proxy
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
}
Мониторинг
pm2 monit
pm2 logs myapp
pm2 status
Итог
PM2 + Nginx — стандартный стек Node.js на VPS. Не забудьте SSL через Let’s Encrypt.
VPS для Node — StormNet Cloud.
Рекомендуем прочитать
- Nginx или Caddy: какой веб-сервер выбрать на VPS
- SSL на VPS: Let's Encrypt, автообновление и типичные ошибки
- Systemd на Linux: автозапуск и управление сервисами на VPS
- Redis на VPS: кэширование, сессии и очереди
- GitHub Actions с нуля: CI/CD для pet-проекта
- Как развернуть сайт на VPS с нуля: полный гайд 2026
Частые вопросы
Зачем PM2, если есть systemd?
PM2 удобен для Node.js: кластеризация, автоперезапуск при падении, логи и zero-downtime reload. Systemd тоже работает, но PM2 проще для JS.
Сколько RAM нужно для Node.js на VPS?
Простой API — от 512 МБ–1 ГБ. С PM2 cluster mode закладывайте RAM с запасом под каждый воркер.






