Ошибка приложения Node js не отвечает на HTTP-запросы на порт 8080, не удается запустить сайт. в Linux службы приложений Azure (не в докере)

Приложение Nodejs работает локально, а также работает в службе приложений при развертывании в службе приложений Azure Linux непосредственно из Visual Studio, но не работает при развертывании с использованием azure DevOps.

Файлы и папки артефактов с использованием Visual Studio -

config 
demo 
dist 
src
gulpfile.babel.js 
node_modules 
package-lock.json 
package.json 
postcss.config.js 
web.config
node_modules.tar.gz  
oryx-manifest.toml   

Файлы артефактов с использованием Azure DevOps -

config 
demo 
dist 
src
gulpfile.babel.js 
node_modules 
package-lock.json 
package.json 
postcss.config.js 
web.config

Когда я пытаюсь выполнить развертывание с помощью развертывания задачи развертывания службы приложений azure DevOps, работает, но URL-адрес не работает, а ошибки журналов -

container test didn't respond to HTTP pings on port: 8080, failing site start. See container     logs for debugging.
2020-09-12T05:37:46.165Z INFO  - Stopping site because it failed during startup.
2020-09-12T05:53:51.152Z INFO  - Starting container for site
2020-09-12T05:53:51.153Z INFO  - docker run -d -p 1861:8080 --name  -e WEBSITE_SITE_NAME=test  -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=test.azurewebsites.net -e 

У меня нет docker-файла, если проблема в портах, то почему он работает, когда я публикую в службе приложений Azure с помощью Visual Studio?

Это упомянутые мной порты

serve({
port: process.env.PORT || 3000,
open: true,
server: {
baseDir: 'src'
},

person megha    schedule 12.09.2020    source источник
comment
У вас есть переменная среды PORT? Без него ваше приложение не будет просто слушать порт 3000?   -  person Mureinik    schedule 12.09.2020
comment
Я добавил порт = 8080 в настройки приложения службы приложений Azure, но не повезло   -  person megha    schedule 12.09.2020
comment
@Mureinik Вы имели в виду что-то другое?   -  person megha    schedule 13.09.2020
comment
Веб-приложение @megha Azure поддерживает только порт 80/443 (http / https). Теперь ваше веб-приложение не работает после развертывания?   -  person Jason Pan    schedule 14.09.2020


Ответы (1)


Теперь вы публикуете веб-приложение через devops. Феномен в том, что к нему нельзя нормально получить доступ. В сообщении об ошибке указывается, что container test didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.

Похожие сообщения по теме должны быть вам полезны.

Проблемы с загрузкой моего приложения node.js в Azure

Поскольку локально проект работает нормально, сейчас мы устраняем проблему.

  1. Поскольку службы приложений Azure поддерживают только порты 80 и 443. Поэтому проверьте, включен ли в программе только один порт. Например, настройка port: process.env.PORT || 3000.

  2. Рекомендуется использовать git для непрерывного развертывания, чтобы проверить, может ли ваш проект веб-приложения нормально работать в службах приложений Azure

Если непрерывное развертывание с использованием Git прошло успешно:

  1. Если git непрерывное развертывание может заменить ваши требования к методу развертывания, и проект может запуститься нормально, ваша проблема будет решена.

  2. Но если вам необходимо развертывать приложения с помощью DevOps, при настройке выпуска могут возникнуть ошибки.

Если вы действительно не знаете, где именно возникла ошибка, вы можете подать заявку в службу поддержки на портале. Позвольте официальному инженеру помочь вам в проверке журналов и устранении неполадок.

person Joey Cai    schedule 14.09.2020