【Azure 应用服务】NodeJS项目部署在App Service For Linux环境中,部署完成后应用无法访问

简介: 【Azure 应用服务】NodeJS项目部署在App Service For Linux环境中,部署完成后应用无法访问

问题描述

NodeJS项目部署在App Service For Linux环境中,部署完成后应用无法访问,在启动日志中发现错误消息:ERROR - Container XXX_0 for site XXX did not start within expected time limit. Elapsed time = 230sec

 

问题分析

230秒 (大约4分钟)时App Service默认的HTTP请求超时时间,不可修改。但是此处出现这个错误最后的结果确实导致Site停止,Startup失败。

对比本地运行的结果,并没有出现startup失败及启动超时的问题,所以定位问题在应用的配置上,因为Azure App Service for Linux是把NodeJS的项目部署在容器中(Container),所以需要仔细排查端口(WEBSITES_PORT)和HOST的值.  在Container容器中,HOST不能指定为127.0.0.1或者localhost,需要修改为0.0.0.0 。 这是容器中非常重要的一点

 

问题解决

检查项目中配置的环境变量,果然,HOST设置为127.0.0.1了,修改为0.0.0.0后,发布到Azure中,成功运行。

 

参考资料

Azure: Container did not start within expected time (WebApp)https://stackoverflow.com/questions/52823025/azure-container-did-not-start-within-expected-time-webapp

Configure a Node.js app for Azure App Service: https://docs.microsoft.com/en-us/azure/app-service/configure-language-nodejs?pivots=platform-linux

相关文章
|
3天前
|
开发工具 git C++
【App Service】VS Code直接部署App Service时候遇见 “fatal: not a git repository (or any of the parent directories): .git”
通过VS Code发布Python App Service的时候,遇见了发布失败错误: The deployment failed with error: fatal: not a git repository (or any of the parent directories): .git . Please take a few minutes to help us improve the deployment experience
38 24
|
2天前
|
机器人 Shell Linux
【Azure Bot Service】部署Python ChatBot代码到App Service中
本文介绍了使用Python编写的ChatBot在部署到Azure App Service时遇到的问题及解决方案。主要问题是应用启动失败,错误信息为“Failed to find attribute 'app' in 'app'”。解决步骤包括:1) 修改`app.py`文件,添加`init_func`函数;2) 配置`config.py`,添加与Azure Bot Service认证相关的配置项;3) 设置App Service的启动命令为`python3 -m aiohttp.web -H 0.0.0.0 -P 8000 app:init_func`。
|
1月前
|
安全
【Azure App Service】App service无法使用的情况分析
App Service集成子网后,如果子网网段中的剩余IP地址非常少的情况下,会在App Service实例升级时( 先加入新实例,然后在移除老实例 )。新加入的实例不能被分配到正确的内网IP地址,无法成功的访问内网资源。 解决方法就是为App Service增加子网地址, 最少需要/26 子网网段地址。
|
3天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
31 5
|
3天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
25 4
|
1天前
|
监控 Linux Shell
|
4天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
15 3
Linux | Rsync 命令:16 个实际示例(下)
|
7天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
43 2
Linux系统之lsof命令的基本使用
|
15天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
45 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】