Node.js-приложение может не запускаться после деплоя, обновления зависимостей, смены сервера, правки env или перезапуска pm2.

Снаружи это может выглядеть как 502, пустая страница, недоступный порт или ошибка в консоли сервера.

Почему это мешает работе

Пока приложение не стартует, сайт, API, бот или личный кабинет недоступны. Поэтому нужно быстро понять: проблема в коде, окружении или сервере.

Частые причины

  • нет env-переменных
  • порт занят или закрыт
  • не установлены зависимости
  • неподходящая версия Node
  • ошибка подключения к базе
  • процесс падает под pm2/systemd

План проверки

  1. Запустить приложение вручную и сохранить ошибку.
  2. Проверить node/npm версии.
  3. Проверить .env и обязательные переменные.
  4. Проверить порт и reverse proxy.
  5. Посмотреть pm2/systemd логи.

Что лучше не делать

  • перезапускать процесс без чтения логов
  • хранить секреты в публичном репозитории
  • менять порт без правки nginx
  • удалять node_modules без повторной установки

Как я решаю такую задачу

Я проверяю запуск приложения в том окружении, где оно должно работать: env, зависимости, порт, процесс-менеджер, nginx и база.

  1. Уточняю симптом, пример страницы или команды и время появления проблемы.
  2. Проверяю логи, настройки, окружение и реальные ответы сервисов.
  3. Исправляю минимально достаточную часть, чтобы не сломать рабочие сценарии.
  4. Тестирую результат на типовом сценарии клиента или администратора.
  5. Передаю краткое объяснение причины и профилактику на будущее.

Что подготовить для оценки

  • ссылку на сайт, сервис или репозиторий, если он нужен
  • текст ошибки, скриншот или вывод команды
  • что меняли перед появлением проблемы
  • доступ к панели, серверу или сервису только если без него нельзя проверить
  • приоритет: быстро восстановить работу или спокойно разобраться в причине

Сроки

env или порт30-90 минут
зависимости и pm21-3 часа
сложный деплойпосле схемы

Вопрос-ответ

Почему npm start работает локально, но не на сервере?

Обычно отличаются env, версия Node, база, порт или права.

Нужно ли использовать pm2?

Для production часто да: pm2 помогает держать процесс и смотреть логи.

Что важно проверить в nginx?

Правильный upstream, порт приложения и заголовки reverse proxy.

Итог

Если Node.js приложение не запускается, нужно проверять не только код, но и окружение: env, порт, зависимости, процесс-менеджер и reverse proxy.

Если нужна похожая диагностика или доработка, напишите в Telegram: @rabotator_support. Посмотрю симптомы, уточню детали и предложу понятный план исправления.