当前位置: 首页 > 知识库问答 >
问题:

Linux上的Azure Web应用程序:“错误:容器未响应端口8080上的HTTP ping”-使用“开始”:“pm2 start server.js”

解修然
2023-03-14

如果我的节点应用程序正在使用启动脚本:“start”:“pm2 start server.js”,则我的应用程序服务Linux实例将崩溃:

2019-04-15 11:36:34.432 ERROR - Container crime-digest__6ea5_0 for site crime-digest__6ea5 has exited, failing site start
2019-04-15 11:36:34.489 ERROR - Container crime-digest__6ea5_0 didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.

容器日志只有上述错误。如果我只使用:"start":"节点server.js",应用程序开始就好了。

我知道如果容器没有通过8080响应,容器就会停止,但我有一个过程。环境。端口设置为我的服务器的端口,因此我无法找出pm2启动脚本使容器崩溃的原因。

我有一种感觉,过程。环境。如果使用上面的启动脚本,端口是未定义的,因为过程中出现了一些混乱,但找不到任何调试方法,因为在容器崩溃后,我无法再使用ssh对其进行检查。

如果有任何建议,我将不胜感激,谢谢。

共有3个答案

姜羽
2023-03-14

尝试使用应用程序正在侦听的任何端口的值添加应用程序设置端口。

裁判:https://github.com/MicrosoftDocs/azure-docs/issues/34451

吕承望
2023-03-14

我也有同样的问题。当我更改服务器中的代码时。将js文件复制到下面,并成功运行:

const port = process.env.port || 8080;

重新部署到Azure后,它现在正在工作。

姬熙云
2023-03-14

我们要定位8080端口吗?这里的问题是端口8080没有暴露,所以当我们试图ping容器时,我们没有ping容器正在监听的端口。

有几种方法可以解决这个问题。

  1. 使用Dockerfile中的EXPOSE指令公开端口8080。
  2. 使用值为"8080"的WEBSITES_PORT应用程序设置来公开该端口。

您可以参考以下提到的文章:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment?view=azure-德沃斯

https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/

 类似资料:
  • 我已经创建了一个非常简单的discord机器人,并试图在azure上托管它。当我在本地运行它时,它工作得很好。当我部署它时,它可以正常工作一段时间,然后崩溃并重新启动。 我明白了 我没有设置docker,所以我猜azure是为我做的。 我的包裹是这样的 我的代码是这样的。 有人知道解决办法吗?

  • 我尝试过使用以下启动命令,两个命令都成功地启动了应用程序,正如_default_docker中报告的那样。但应用程序服务正在停止容器,因为端口8080的HTTP ping没有得到响应。 生态系统配置。js文件-在本地运行良好,并在端口8080上成功启动了web应用程序,我已将该文件上载到/应用程序服务中的site/wwwroot/文件夹。 *_默认的码头工人。日志 *_码头工人。日志 我曾尝试在A

  • 尽管我的应用程序在本地运行良好,但我突然开始出现这个错误。 我正在Azure应用程序服务上运行rails应用程序。 我曾尝试将应用程序设置端口设置为80,将我的网站设置端口设置为8080,但没有成功。 puma.rb包括这个 部署到Azure后,我尝试将其更改为8080,但没有成功。 在网上看了之后,我真的很困惑为什么这是突然发生的

  • 如果直接从visual studio部署到Azure应用程序服务Linux,Nodejs应用程序可以在本地工作,也可以在应用程序服务上工作,但在使用Azure devops部署时不工作 使用VisualStudio创建工件文件和文件夹- 使用Azure devops的工件文件- 当我尝试使用azure devops应用程序服务部署任务部署时,部署工作正常,但URL不工作,日志错误也不存在- 我没有

  • 我使用Linux web app服务在Azure上创建了一个Nodejs应用程序(ExpressJS)。我通过Kudu成功地部署了代码。在一些代码更改之后,容器没有响应端口上的HTTP ping。我已经添加了网站\u端口8080,端口8080和网站\u容器\u开始\u时间限制:1800但没有运气。下面是api日志流的屏幕截图。你们能帮帮我吗? API日志流截图 节点版本:10.10

  • 我尝试将我的NestJs应用程序(使用快速适配器)部署到Azure应用服务。在docker日志我得到这个错误: 应用程序日志显示应用程序启动成功 我用这行代码绑定express服务器 我已经谷歌了一段时间来寻找解决方案,但没有任何帮助。以下是我现在尝试的步骤。 增加到1800 设置和设置为80 重新创建和重新部署应用程序 有人知道为什么这个问题仍然存在吗?我的应用程序在右边的端口上列出,在下返回2