Приложение Azure webapp node.js не запускается
Я пытаюсь развернуть очень простое приложение express.js в веб-приложении Azure.
Журнал развертывания показывает, что развертывание проходит правильно, но приложение не запускается. Проверка проводника процесса kudu показывает, что процесс node.js действительно не запущен
С другой стороны, я не вижу ни журналов приложений, ни признаков того, что приложение даже запустилось.
Есть ли способ узнать, что произошло, когда nodeiis попытался запустить приложение?
5 ответов
Azure WebApp для node.js работает через iisnode как собственный модуль IIS, который позволяет размещать IIS в Windows. Пожалуйста, ознакомьтесь с документом https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/ чтобы узнать его возможности.
Для отладки веб-приложения для node.js я предлагаю вам обратиться к документу, чтобы узнать, как это сделать.
Если вы используете Visual Studio в качестве IDE для node.js, я рекомендую установить NTVS в VS для отладки и развертывания node.js. Пожалуйста, ознакомьтесь с приведенными ниже документами, чтобы узнать, с чего начать.
И есть другой инструмент под названием node-inspector
для проверки приложения node.js в Azure. В качестве ссылки вы можете обратиться к документу http://www.ranjithr.com/?p=98.
Между тем, пожалуйста, проверьте web.config
файл в веб-приложении вашего узла через консоль Kudo, вы можете сравнить свои коды с образцом, сгенерированным шаблоном для Express из галереи на портале Azure.
Надеюсь, это поможет. Любая проблема, пожалуйста, не стесняйтесь, дайте мне знать.
Обозреватель процессов показывает процессы моего веб-приложения для node.js.
Вам нужно включить ведение журнала, прежде чем вы сможете получить журналы, которые (надеюсь) дадут вам более подробную информацию об ошибке. Вы можете прочитать больше об этом здесь.
Опубликуйте мой шаг расследования здесь.
1. отредактируйте D:\home\site\wwwroot\iisnode.yml, из https://xxx.scm.azurewebsites.net/DebugConsole добавьте строку ниже
devErrorsEnabled: true
- перезапустите сервис приложений с портала Azure
- получить доступ к вашему сервису, вы увидите что-то вроде этого:
HRESULT: 0x2
HTTP статус: 500
Подстатус HTTP: 1002
Причина HTTP: внутренняя ошибка сервера
- перейдите по https://docs.microsoft.com/en-us/azure/app-service/app-service-web-nodejs-best-practices-and-troubleshoot-guide, чтобы найти значения для субстрата.
для получения дополнительных навыков отладки, вы можете увидеть: https://prmadi.com/debug-nodejs-app-in-azure-app-services-windows-2/
Чтобы Azure Framework запустил узел, в корневой папке должен быть файл web.config, который настраивает IIS для запуска процесса узла.
Если вы развертываете через git, вам не нужно беспокоиться о создании файла web.config. Платформа Azure выполнит действие сборки после развертывания, которое
- распознайте ваш код как приложение узла и создайте файл web.config для вас.
- Бежать
npm install
чтобы убедиться, что необходимые пакеты присутствуют.
По умолчанию действие сборки после развертывания НЕ выполняется для развертываний.zip. Вы можете решить эту проблему с помощью одного из следующих двух вариантов:
- Переопределите настройку по умолчанию, чтобы действие сборки выполнялось ИЛИ
- Включить
web.config file
иnode_modules
папка в zip-файле.
Чтобы переопределить поведение по умолчанию и включить действия по сборке для zip-развертываний, просто добавьте параметр приложения SCM_DO_BUILD_DURING_DEPLOYMENT, установленный в true
Если вы хотите включить узел, используя свой собственный web.config
файл, см. этот ответ для примера файла web.config. Также смотрите этот блог: https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/ для получения более подробной информации.
Вам не нужно проверять / управлять своим веб-приложением из kudu explorer.
Вы можете сослаться на статью https://azure.microsoft.com/en-us/documentation/articles/app-service-web-nodejs-get-started/ чтобы поместить ваш локальный node.js в azure by git.
И вы также можете переместить свой код в Azure по FTP, который показан на странице панели веб-приложения.
После этого запустите веб-приложение node.js на Azure, после чего вы сможете посетить его.
Если вы хотите просмотреть журнал времени выполнения вашего кода, вы можете перейти к "yourwebapp ==> CONFIGURE ==> Диагностика приложения" в веб-приложении Azure Portal, чтобы настроить свой журнал.