Node.js-приложение может не запускаться после деплоя, обновления зависимостей, смены сервера, правки env или перезапуска pm2.
Снаружи это может выглядеть как 502, пустая страница, недоступный порт или ошибка в консоли сервера.
Почему это мешает работе
Пока приложение не стартует, сайт, API, бот или личный кабинет недоступны. Поэтому нужно быстро понять: проблема в коде, окружении или сервере.
Частые причины
- нет env-переменных
- порт занят или закрыт
- не установлены зависимости
- неподходящая версия Node
- ошибка подключения к базе
- процесс падает под pm2/systemd
План проверки
- Запустить приложение вручную и сохранить ошибку.
- Проверить node/npm версии.
- Проверить .env и обязательные переменные.
- Проверить порт и reverse proxy.
- Посмотреть pm2/systemd логи.
Что лучше не делать
- перезапускать процесс без чтения логов
- хранить секреты в публичном репозитории
- менять порт без правки nginx
- удалять node_modules без повторной установки
Как я решаю такую задачу
Я проверяю запуск приложения в том окружении, где оно должно работать: env, зависимости, порт, процесс-менеджер, nginx и база.
- Уточняю симптом, пример страницы или команды и время появления проблемы.
- Проверяю логи, настройки, окружение и реальные ответы сервисов.
- Исправляю минимально достаточную часть, чтобы не сломать рабочие сценарии.
- Тестирую результат на типовом сценарии клиента или администратора.
- Передаю краткое объяснение причины и профилактику на будущее.
Что подготовить для оценки
- ссылку на сайт, сервис или репозиторий, если он нужен
- текст ошибки, скриншот или вывод команды
- что меняли перед появлением проблемы
- доступ к панели, серверу или сервису только если без него нельзя проверить
- приоритет: быстро восстановить работу или спокойно разобраться в причине
Сроки
| env или порт | 30-90 минут |
|---|---|
| зависимости и pm2 | 1-3 часа |
| сложный деплой | после схемы |
Вопрос-ответ
Почему npm start работает локально, но не на сервере?
Обычно отличаются env, версия Node, база, порт или права.
Нужно ли использовать pm2?
Для production часто да: pm2 помогает держать процесс и смотреть логи.
Что важно проверить в nginx?
Правильный upstream, порт приложения и заголовки reverse proxy.
Итог
Если Node.js приложение не запускается, нужно проверять не только код, но и окружение: env, порт, зависимости, процесс-менеджер и reverse proxy.
Если нужна похожая диагностика или доработка, напишите в Telegram: @rabotator_support. Посмотрю симптомы, уточню детали и предложу понятный план исправления.