Как запустить веб-приложение Azure Node.js - PullRequest
0 голосов
/ 19 июня 2020

Я знаю, что это обычная проблема, но я в тупике; подробности

  • Basi c Node.js WebApp, доступ к SQL Server
  • В настоящее время просто возвращает содержимое небольшой таблицы
  • На основе чего-то вроде : https://medium.com/voobans-tech-stories/how-to-quickly-create-a-simple-rest-api-for-sql-server-database-7ddb595f751a
  • Разработано и развернуто с использованием Visual Studio
  • Прекрасно работает в Visual Studio, т.е. развертывание на локальном хосте
  • Но не запускается в Azure т.е. попытка перейти к адресу WebApp; возвращает «Страница не может быть отображена из-за внутренней ошибки сервера.» или ошибки 502/503

Я пробовал разные блоги, но безрезультатно. Я знаю, что для этого может быть много причин; все, что я ищу, это список наиболее вероятных / распространенных проблем. Любая помощь приветствуется

1 Ответ

0 голосов
/ 20 июня 2020

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

  1. Node.exe отсутствует в правильном месте. Проверьте настройку nodeProcessCommandLine.
  2. Основной файл сценария отсутствует в правильном месте. Проверьте web.config и убедитесь, что имя основного файла сценария в разделе обработчиков совпадает с именем основного файла сценария.
  3. Конфигурация Web.config неверна - проверьте имена / значения настроек.
  4. Холодный старт - ваше приложение запускается слишком долго. Если ваше приложение занимает больше времени, чем (maxNamedPipeConnectionRetry * namedPipeConnectionRetryDelay) / 1000 секунд, iisnode возвращает ошибку 500. Увеличьте значения этих параметров, чтобы они соответствовали времени запуска вашего приложения, чтобы предотвратить тайм-аут iisnode и возврат ошибки 500.

Когда работающее приложение Node.js ведет себя иначе в службе приложений или имеет ошибки, вы попробуйте следующую последовательность / контрольный список, чтобы изолировать проблему.

Протестируйте приложение локально в производственной среде Режим. Служба приложений запускает ваши Node.js приложения в производственном режиме, поэтому вам необходимо убедиться, что ваш проект работает должным образом в производственном режиме локально. Например:

  • В зависимости от вашего пакета. json, для рабочего режима могут быть установлены разные пакеты (зависимости и devDependencies).
  • Некоторые веб-фреймворки могут развертывать stati c файлы по-разному в производственном режиме.
  • Некоторые веб-фреймворки могут использовать настраиваемые сценарии запуска при работе в производственном режиме.

Запустите приложение в службе приложений в режиме разработки. Например, в MEAN. js вы можете перевести приложение в режим разработки во время выполнения, установив параметр приложения NODE_ENV.

Пожалуйста, ознакомьтесь с этой документацией, в которой выделены следующие шаги / контрольный список:

Передовой опыт и руководство по устранению неполадок для узловых приложений в Azure Службе приложений Windows

Node.js Развертывание приложений и устранение неполадок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...