gpt4 book ai didi

node.js - Azure 应用程序服务与 Node 进程管理器中断,但可与 Node 一起使用

转载 作者:行者123 更新时间:2023-12-03 02:48:09 25 4
gpt4 key购买 nike

我有一个奇怪的问题一直困扰着我。我有一个在生产模式下使用 pm2 的 Express 应用

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

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

Container didn't respond to pings on port 8080

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

有谁知道可能是什么原因吗?我不想在生产中针对 Node 运行应用程序。

更新我刚刚尝试过 supervisor并得到相同的结果。看起来流程管理器有些问题,也许?

最佳答案

每当启动 node 服务器时,您都应该指定环境中给定的端口。

基本示例:

const LOCAL_APP_PORT = 9300;

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

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

更新

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

关于node.js - Azure 应用程序服务与 Node 进程管理器中断,但可与 Node 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57567908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com