VPS для Next.js: SSR, static export и production-деплой
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/.