Развёртывание Next.js на Lizard
Запустите Next.js на Lizard как Node.js-сервер с next build и next start. Этот путь сохраняет сервер доступным для рендеринга во время запроса, Route Handlers и Server Actions. Если все маршруты можно построить заранее, следуйте статическому экспорту Next.js.
Настройки сборки
| Параметр | Значение |
|---|---|
| Корень проекта | Директория, содержащая package.json и конфигурацию Next.js |
| Скрипт сборки | next build |
| Скрипт запуска | next start --hostname 0.0.0.0 --port 3000 |
| Результат сборки | .next/ |
| Порт сервиса | 3000 |
| Среда выполнения | Node.js |
Подготовка приложения
Сохраните next, react и react-dom в зависимостях и закоммитьте lockfile. Добавьте эти скрипты в package.json:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start --hostname 0.0.0.0 --port 3000"
}
}Используйте стандартный вывод Next.js для данного руководства. output: 'export' требует статический сервер, а output: 'standalone' нуждается в собственном запуске server.js и структуре ассетов. Ни один из них не использует этот рецепт next start без изменений.
Выберите поддерживаемую основную версию Node в .nvmrc, например 22. Исключите .next/, node_modules/ и .env* из загружаемых исходников; при необходимости сохраните пример файла окружения без секретов.
Локальная проверка продакшн-сборки
npm ci
npm run build
npm run startВ другом терминале откройте http://localhost:3000 и проверьте внутренний маршрут. Если в приложении есть API или Server Действие, проверьте и их. Прохождение проверки сервера разработки не доказывает работоспособность продакшн-сборки.
Развёртывание
После установки Lizard CLI и входа выполните из директории приложения:
lizard init --name nextjs-app
lizard add --service web
lizard up --service web --port 3000
lizard logs --build --service web --json
lizard logs --service web --json
lizard ps --jsonLizard обнаруживает зависимость next и запускает скрипты сборки и запуска. Эти команды подразумевают, что у сервиса нет существующих переопределений сборки или запуска. Используйте URL из вывода деплоя для повторной проверки, как локально.
Переменные окружения и данные
Значения NEXT_PUBLIC_* становятся частью браузерного бандла во время сборки. Держите учётные данные в переменных только для сервера и настройте их для сервиса через переменные и секреты. Код, который получает данные во время сборки, также должен иметь доступ к этим данным на этапе сборки. Перезапуск в runtime не изменяет уже сгенерированный HTML или JavaScript.
Локальные файлы кэша и загруженные файлы не образуют общее хранилище между репликами. Проверьте требования Next.js к кэшу и Server Actions перед масштабированием свыше одной реплики. Храните долгие данные приложения в базе данных или объектном хранилище, и ознакомьтесь с хранилищем и восстановлением.
Устранение неполадок
| Симптом | Проверка |
|---|---|
Missing script: start | Добавьте продакшн-скрипт запуска выше; next dev предназначен для локальной разработки. |
| Приложение никогда не становится здоровым | Сопоставьте --port 3000 со скриптом запуска и привяжитесь к 0.0.0.0. |
| Публичный URL API всё ещё имеет старое значение | Пересоберите с новым значением NEXT_PUBLIC_*. |
| Сборка не может подключиться к базе данных | Проверьте, не обращается ли какой-то маршрут к данным во время сборки, и доступна ли эта зависимость на этом этапе. |
Статический экспорт завершается с ошибкой под next start | Следуйте отдельному руководству по статическому экспорту. |
Руководство Next.js по самостоятельному хостингу охватывает поведение кэша на уровне фреймворка, изображений и работы с несколькими инстансами. При ошибках деплоя см. сервис никогда не становится работоспособным.
См. проверенные версии и результаты в облаке для проверок деплоя от 9 сентября 2026 года и их ограничений.