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

Azure应用服务与节点进程管理器中断,但与节点一起工作

郎欣然
2023-03-14

我有一个奇怪的问题,我一直在挠头。我有一个在生产模式下使用pm2的快速应用程序

cross-env NODE_ENV=production pm2 start ./src/index.js

这在本地运行得非常好。然而,当我将其部署到Azure应用程序服务时,容器不断崩溃。我可以在日志中看到pm2进程成功启动,但应用程序随后崩溃,并显示以下错误消息

容器对端口8080上的ping没有响应

我尝试设置WEBSITES_PORT8080,我尝试使用process.env.PORT并将端口硬编码为8080,但没有任何效果。

有人知道原因是什么吗?我宁愿不必在生产环境中针对节点运行应用程序。

更新我刚刚和主管尝试了这个,结果相同。看起来流程经理有问题,也许?

共有1个答案

雍志文
2023-03-14

无论何时启动节点服务器,都应指定环境给定的端口。

基本示例:

const LOCAL_APP_PORT = 9300;

server.create({ port: process.env.port || LOCAL_APP_PORT })

注意:为了调试pm2是否与pm2相关,请尝试使用node命令简单地启动它。

使现代化

基于你最后的评论。我认为问题可能是pm2在默认情况下会自动守护。可以尝试将--no-daemon标志传递给pm2命令吗?

 类似资料:
  • 但是在我使用运行应用程序的服务器上,环境变量仍然。 我用来在服务器上运行应用程序的pm2命令是:

  • 问题内容: 有人在Grunt上使用了节点检查器进行应用程序调试吗?如果不是,您能推荐基于Grunt的应用程序的调试工具吗? 我正在为服务器端应用程序使用nodejs,并且我有Grunt来使用分离的任务(这是因为用户可以单独执行任务)。 问题答案: 要在调试中运行grunt,您需要将grunt脚本显式传递给节点: 并在任务中添加一行。然后将使用调试工具打开浏览器。 编辑2014年2月28日 添加了命

  • 问题内容: 我目前与我加入的公司的设置是IIS被用作我们的主要Web服务器,并使用CA签名证书。我可以访问certificate.pdx以及私钥。 我已经设置了一个https节点API服务器来处理一些实时信息/充当简单的附加中间层,但是我的网站是通过IIS服务的。应用程序的流程是这样的。 1)访问IIS将在其上提供服务的网页 2)单击一个按钮,然后向我的节点服务器发出GET请求 目前,我只是在开发

  • 我有两个表有下面的模式,我想从用户表中获取用户名和密码,从信息表中获取全名。 var infoSchema=mongoose.Schema({khatam_id:String,user_id:String,fullname:String,}); var usersSchema=mongoose.Schema({user\u id:String,username:String,password:St

  • 我正在尝试在nodeJS中实现一个OAUTH2服务器,它允许客户端应用程序登录使用我网站的用户(比如用google登录,在我的例子中是amazon alexa,它使用这个API/客户端应用程序)。 我尝试使用oauth2orise(https://www.npmjs.com/package/oauth2orize),并引用了几个链接:- https://hnryjms.io/2014/07/oau

  • 编辑:我看过纱线Resourcemanager没有连接到nodemanager,解决方案对我不起作用。我已经附加了节点管理器日志中与资源管理器建立连接的部分: 出于某种原因,它说它连接到0.0.0.0。当我ssh到其中一个数据节点并ping resource-manager时,我会得到一个响应,因此它能够解析主机名。 节点2-次要Namenode(hadoop-hdfs-secondaryname