Деплой веб приложения фронт на next.js бэк на laravel PHP 8.1 - Help - Vercel Community
Деплой веб приложения фронт на next.js бэк на laravel PHP 8.1
деплою проект на хостинг к которому привязан домен. Проект у меня фронт на next.js backend: laravel 10 php 8.1 Как мне правильно залить проект чтобы он работал на Vercel, при создании сайта не нашел вкладку где бы можно было бы указать версию node.js и настроить ее, подскажите какая структура проекта в корне проекта должна быть ? бэк и фронт можно же разметить в одном корне проекта ?
Leaderboard Winner
Привет Igor,
Я бы разделил этот проект на две части.
Vercel хорошо подходит для Next.js фронтенда, но Laravel/PHP backend лучше не пытаться деплоить как обычное Laravel-приложение на Vercel. На Vercel есть community runtime для PHP, но это не то же самое, что полноценный сервер для Laravel с обычным public/index.php, очередями, storage, artisan, long-running process и т.д.
Практичная схема такая:
repo/
frontend/ ← Next.js приложение, деплоится на Vercel
backend/ ← Laravel API, деплоится отдельно
В Vercel для проекта укажи:
Root Directory: frontend
Framework Preset: Next.js
Build Command: next build
Output Directory: оставить по умолчанию
Версию Node.js можно выбрать здесь:
Project Settings → Build and Deployment → Node.js Version
или задать в frontend/package.json:
{
"engines": {
"node": "22.x"
}
}
Laravel backend лучше разместить на хостинге, который напрямую поддерживает PHP/Laravel, например VPS, Laravel Forge, Ploi, Render/Railway/Fly.io с Docker, или другой PHP-хостинг. Потом в Next.js обращаться к нему через API:
NEXT_PUBLIC_API_URL=https://api.example.com
А домен можно разделить так:
example.com → Next.js на Vercel
api.example.com → Laravel backend на другом сервере