MAATRIX / Блог / VPS для Next.js: SSR, static export и production-деплой

VPS для Next.js: SSR, static export и production-деплой

VPS для Next.js: SSR, static export и production-деплой
Блог MAATRIX · 2026-07-07

Next.js — популярный React-фреймворк с SSR и static generation. На VPS вы выбираете между Node-сервером и статикой за nginx.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

SSR vs static export

output: 'export' — чистый HTML/JS, nginx раздаёт без Node. Подходит для marketing и docs без server components.

SSR/ISR требует next start на Node — 2 vCPU, 2–4 ГБ RAM. Build на CI или VPS с достаточной RAM.

Incremental Static Regeneration (ISR) на VPS требует persistent .next cache volume — при redeploy без volume cold regeneration.

Route handlers App Router replace API routes pages — same VPS deploy pattern systemd + nginx.

Monitoring Core Web Vitals real user data optional — Lighthouse CI on staging catch regression bundle size.

Автоматизация deploy через GitHub Actions или GitLab CI снижает human error при ночных релизах — ssh run script reproducible лучше ручного ssh и vim на prod. (Контекст: vps dlya nextjs)

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Ресурсы VPS

npm run build жаден к RAM — минимум 2 ГБ, лучше 4 ГБ на время сборки. Runtime SSR — 1–2 ГБ при умеренном трафике.

NVMe ускоряет .next/cache и cold start после деплоя.

Middleware.ts edge-like logic runs Node — rate limit auth routes before hit database.

Server Components RSC payload caching nginx не помогает — understand what runs server vs client bundle size.

Практика показывает: большинство инцидентов на VPS связано не с «слабым железом», а с отсутствием мониторинга, бэкапов и дисциплины обновлений — инфраструктура MAATRIX даёт базу, эксплуатация остаётся на вашей стороне. (Контекст: vps dlya nextjs)

Telegram-бот для алертов uptime и disk space — минимальный on-call канал, который стоит настроить в первый день после go-live на VPS. (Контекст: vps dlya nextjs)

Деплой

git pull, npm ci, npm run build, systemctl restart next. Или standalone output — копируете .next/standalone без node_modules.

NODE_ENV=production обязателен. next start -p 3000 за nginx.

Image optimization next/image нагружает CPU — consider external CDN image service при heavy media sites.

Edge middleware geo routing на VPS single region — все users same latency region unless multi-VPS anycast.

Документируйте шаги настройки в internal wiki или README репозитория infra — через полгода вы забудете, почему выбрали именно такой порт, timeout или размер worker pool. (Контекст: vps dlya nextjs)

nginx

proxy_pass на 3000, кэш для /_next/static с immutable headers.

next/image remotePatterns — домены картинок в next.config.js.

Environment-specific next.config.js: staging may allow domains production blocks.

Analyze bundle @next/bundle-analyzer in CI — prevent accidental import heavy library whole lodash in client.

Staging-окружение на отдельном младшем тарифе MAATRIX позволяет rehearsal миграций и обновлений без риска для production — стоимость staging окупается одним предотвращённым инцидентом. (Контекст: vps dlya nextjs)

Env variables

NEXT_PUBLIC_* — в клиентский bundle. Секреты только server-side (без префикса) в EnvironmentFile.

Пересборка нужна при изменении NEXT_PUBLIC_, server env — restart достаточно.

PM2 cluster для next start rarely needed — single Node process often enough; scale horizontal duplicate VPS.

Draft mode Next preview CMS content — protect staging secret token nginx auth.

NVMe-диск на VPS ускоряет не только базу данных, но и запись логов, session файлов и temporary uploads — latency disk I/O заметна в p95 API даже при низком CPU. (Контекст: vps dlya nextjs)

Standalone output

output: 'standalone' в next.config — минимальный deploy artifact. Копируете standalone/, static/, public/.

Меньше места и быстрее rsync на VPS.

Monitor memory after deploy: memory leak in SSR React components shows gradual RSS growth over days.

next build на VPS с 1GB RAM часто OOM — собирайте на CI runner с 4GB и деплойте только artifact standalone.

Комбинация snapshot провайдера и logical backup базы закрывает сценарии «сломали конфиг» и «повредили данные внутри таблицы» — используйте оба слоя, не один. (Контекст: vps dlya nextjs)

Ошибки

  • OOM при build — добавьте swap или собирайте на CI.
  • 502 — next не запущен или wrong port.
  • Hydration mismatch — разный HTML server/client.

Логи: journalctl -u next и next build warnings про bundle size.

Use sharp bundled with Next for image — ensure libvips dependencies on minimal Debian if build fails.

Environment variables NEXT_PUBLIC только для non-secret — API keys server-only без prefix.

При росте нагрузки сначала измерьте bottleneck через metrics, а не увеличивайте тариф наугад — часто хватит индекса в PostgreSQL или Redis cache hot keys. (Контекст: vps dlya nextjs)

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Static или SSR?

Static — дешевле; SSR — персонализация и SEO dynamic.

Vercel vs VPS?

Vercel — zero ops; VPS — контроль и цена при трафике.

App Router?

Да, next start поддерживает app/ и pages/.