节点 js 应用程序错误未响应端口上的 HTTP ping:8080,站点启动失败。在 Azure 应用服务上 linux(不是 docker)

Node js app error didn't respond to HTTP pings on port: 8080, failing site start. on Azure app service linux (not docker)

Nodejs 应用程序在本地工作,如果直接从 visual studio 部署到 Azure 应用程序服务 Linux,也可以在应用程序服务上工作,但在使用 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-file ,如果端口是问题,那么为什么当我使用 visual studio 发布到 Azure 应用程序服务时它可以工作?

这些是我提到的端口

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

现在您正在做的是通过 devops 发布 webapp。现象是无法正常访问。错误信息提示container test didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.

类似的相关帖子应该对你有帮助。

由于本地项目正常,目前正在排查问题

  1. 因为azure app services只支持端口80443。因此检查程序中是否只启用了一个端口。比如配置port: process.env.PORT || 3000.

  2. 建议use git for continuous deployment测试你的webapp项目是否可以运行在azure app services中正常

如果使用 Git 持续部署成功:

  1. 如果git持续部署能够替代你的部署方式需求,并且项目能够正常启动,那么你的问题就解决了。

  2. 但是如果你一定要使用devops部署应用,配置release的时候可能会出错

如果实在不清楚哪里出错了,可以raise a support ticket on the portal。让官方工程师帮你查日志,排查问题