Зміст
Коротко
Кожен деплой Next.js на VPS — лотерея: хвилина 502 Bad Gateway або обійшлося. На Habr розібрали рецепт з PM2: reload замість restart, cluster mode і дисципліна навколо .next.
Що сталося
Типовий сценарій: пуш у main, CI збирає проєкт, на сервері pm2 restart — nginx віддає 502, поки процес піднімається. Проблема масова без Kubernetes.
Дві часті помилки:
pm2 restart— процес зникає, порт порожній.- Видалення
.nextна живому сервері до завершенняnext build.
Рішення — pm2 reload у cluster mode: нові воркери стартують, старі гаснуть після готовності.
Чому це важливо
Для малого й середнього трафіку VPS + PM2 часто дешевший і простіший за кластер Kubernetes — якщо reload налаштований правильно.
| Підхід | Плюси | Мінуси |
|---|---|---|
| PM2 на VPS | Простий CI | Самі стежите за SSL і масштабом |
| Kubernetes | Rolling update | Складність для одного застосунку |
На практиці
- Next у cluster (
instances: maxабо фіксована кількість). - Після збірки —
pm2 reload, неrestart. .nextзбирати в CI; не чистити.nextпід працюючим процесом.- Healthcheck nginx після reload.
Підсумок
502 при деплої — зазвичай помилка процесу релізу, а не «прокляття» Next. Для VPS часто вистачає PM2 з reload; Kubernetes — коли зросли вимоги до відмовостійкості.

