MAATRIX / Блог / 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.

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

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

Static или SSR?

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

Vercel vs VPS?

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

App Router?

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