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

azure应用程序服务容器(容器名称)未响应端口8080上的HTTP ping

厉念
2023-03-14

我已经创建了一个非常简单的discord机器人,并试图在azure上托管它。当我在本地运行它时,它工作得很好。当我部署它时,它可以正常工作一段时间,然后崩溃并重新启动。

我明白了


2020-03-23T21:41:50.738748919Z   _____
2020-03-23T21:41:50.738817719Z   /  _  \ __________ _________   ____
2020-03-23T21:41:50.738824419Z  /  /_\  \___   /  |  \_  __ \_/ __ \
2020-03-23T21:41:50.738828419Z /    |    \/    /|  |  /|  | \/\  ___/
2020-03-23T21:41:50.738832119Z \____|__  /_____ \____/ |__|    \___  >
2020-03-23T21:41:50.738836019Z         \/      \/                  \/
2020-03-23T21:41:50.738839619Z A P P   S E R V I C E   O N   L I N U X
2020-03-23T21:41:50.738843319Z
2020-03-23T21:41:50.738846719Z Documentation: http://aka.ms/webapp-linux
2020-03-23T21:41:50.738850119Z NodeJS quickstart: https://aka.ms/node-qs
2020-03-23T21:41:50.738853619Z NodeJS Version : v12.13.0
2020-03-23T21:41:50.738857019Z Note: Any data outside '/home' is not persisted
2020-03-23T21:41:50.738873019Z
2020-03-23T21:41:51.030040223Z Oryx Version: 0.2.20191105.2, Commit: 67e159d71419415435cb5d10c05a0f0758ee8809, ReleaseTagName: 20191105.2
2020-03-23T21:41:51.030978923Z Found build manifest file at '/home/site/wwwroot/oryx-manifest.toml'. Deserializing it...
2020-03-23T21:41:51.038540817Z Build Operation ID: |Nl1fjNBjXG0=.86fc023f_
2020-03-23T21:41:52.164947961Z Environment Variables for Application Insight's Codeless Configuration exists..
2020-03-23T21:41:52.165846260Z Writing output script to '/home/site/wwwroot/oryx-appinsightsloader.js'
2020-03-23T21:41:52.523126320Z Writing output script to '/opt/startup/startup.sh'
2020-03-23T21:41:52.729416182Z Running #!/bin/sh
2020-03-23T21:41:52.729893482Z
2020-03-23T21:41:52.729904682Z # Enter the source directory to make sure the script runs where the user expects
2020-03-23T21:41:52.729909382Z cd "/home/site/wwwroot"
2020-03-23T21:41:52.729913282Z
2020-03-23T21:41:52.729916782Z export NODE_PATH=$(npm root --quiet -g):$NODE_PATH
2020-03-23T21:41:52.729920482Z if [ -z "$PORT" ]; then
2020-03-23T21:41:52.730906381Z      export PORT=8080
2020-03-23T21:41:52.730917481Z fi
2020-03-23T21:41:52.730921481Z
2020-03-23T21:41:52.730925081Z echo Found tar.gz based node_modules.
2020-03-23T21:41:52.730928781Z extractionCommand="tar -xzf node_modules.tar.gz -C /node_modules"
2020-03-23T21:41:52.731720380Z echo "Removing existing modules directory from root..."
2020-03-23T21:41:52.731731380Z rm -fr /node_modules
2020-03-23T21:41:52.731735380Z mkdir -p /node_modules
2020-03-23T21:41:52.731738880Z echo Extracting modules...
2020-03-23T21:41:52.737901476Z $extractionCommand
2020-03-23T21:41:52.737914876Z export NODE_PATH="/node_modules":$NODE_PATH
2020-03-23T21:41:52.737919576Z export PATH=/node_modules/.bin:$PATH
2020-03-23T21:41:52.737931076Z if [ -d node_modules ] || [ -L node_modules ]; then
2020-03-23T21:41:52.737935076Z     mv -f node_modules _del_node_modules || true
2020-03-23T21:41:52.737938676Z fi
2020-03-23T21:41:52.738335276Z
2020-03-23T21:41:52.738348276Z if [ -d /node_modules ]; then
2020-03-23T21:41:52.738352876Z     ln -s /node_modules ./node_modules
2020-03-23T21:41:52.738356776Z fi
2020-03-23T21:41:52.738635876Z
2020-03-23T21:41:52.738700276Z echo "Done."
2020-03-23T21:41:52.738743776Z export NODE_OPTIONS='--require ./oryx-appinsightsloader.js ' $NODE_OPTIONS
2020-03-23T21:41:52.738885175Z npm start
2020-03-23T21:41:53.504769761Z Found tar.gz based node_modules.
2020-03-23T21:41:53.505139861Z Removing existing modules directory from root...
2020-03-23T21:41:53.515730254Z Extracting modules...
2020-03-23T21:41:53.800945462Z Done.
2020-03-23T21:41:55.412480180Z
2020-03-23T21:41:55.412504880Z > my-bot@1.0.0 start /home/site/wwwroot
2020-03-23T21:41:55.412521380Z > node stonksbot.js
2020-03-23T21:41:55.412525880Z
2020-03-23T21:41:56.623960067Z Logged in as Mr.Stonks#0654!
2020-03-23 21:45:42.618 ERROR - Container stonksbot1_0_0cecfd85 for site stonksbot1 did not start within expected time limit. Elapsed time = 231.774951 sec
2020-03-23 21:45:42.620 ERROR - Container stonksbot1_0_0cecfd85 didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.
2020-03-23 21:45:42.642 INFO  - Stoping site stonksbot1 because it failed during startup.

我没有设置docker,所以我猜azure是为我做的。

我的包裹是这样的

{
  "name": "my-bot",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node stonksbot.js"
  },
  "dependencies": {
    "discord.js": "^11.6.3"
  },
  "devDependencies": {}
}

我的代码是这样的。

const Discord = require('discord.js');
const client = new Discord.Client();


client.login(my token);

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {

  // do something
});

有人知道解决办法吗?

共有1个答案

公西翊歌
2023-03-14

您需要让您的应用程序在指定端口上响应Azure应用程序服务的ping。

示例如下:https://github.com/Azure-Samples/nodejs-docs-hello-world/blob/master/index.js

您还需要将环境变量WEBSITES\u PORT也设置为端口的值。

如果你不响应ping Azure,你会认为应用程序已关闭,并尝试重新启动它。

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

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

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

  • 如果我的节点应用程序正在使用启动脚本:,则我的应用程序服务Linux实例将崩溃: 容器日志只有上述错误。如果我只使用:应用程序开始就好了。 我知道如果容器没有通过8080响应,容器就会停止,但我有一个设置为我的服务器的端口,因此我无法找出pm2启动脚本使容器崩溃的原因。 我有一种感觉,是未定义的,因为过程中出现了一些混乱,但找不到任何调试方法,因为在容器崩溃后,我无法再使用ssh对其进行检查。 如

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

  • 我有一个简单的应用程序构建为docker图像(ubuntu),并把它放入docker容器。它有几个卷附加到它。我想将此容器推送到Azure AppServiceLinux。我尝试了几个选择,但没有成功。 > Azure CLI创建web应用程序并将容器推送到Azure容器注册表,然后将其部署到web应用程序。 给出错误。 将容器上传到,并更新Web应用容器设置以将此容器加载到Web应用中。 给出或