Edm*_*mas 8 azure docker azure-web-app-service azure-devops
如果我的节点应用程序使用启动脚本,我的应用服务 Linux 实例会崩溃"start": "pm2 start server.js":
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.
Run Code Online (Sandbox Code Playgroud)
容器日志只有上述错误。如果我只使用:"start": "node server.js",应用程序启动得很好。
我知道如果容器没有通过 8080 响应,则容器会停止,但我已将其process.env.PORT设置为服务器的端口,因此我无法弄清楚为什么 pm2 启动脚本会使容器崩溃。
process.env.PORT如果使用上面的启动脚本,我有一种不确定的感觉,因为在过程中有些混淆,但找不到任何调试它的方法,因为在容器崩溃后,我无法再通过 ssh 进入它来检查它。
我真的很感激任何建议,谢谢。
小智 8
我们是否尝试 ping 端口 8080?这里的问题是端口 8080 没有公开,因此当我们尝试 ping 容器时,我们不会 ping 容器正在侦听的端口。
有几种方法可以解决这个问题。
您可以参考以下文章:
https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/
小智 4
我也有同样的问题。当我将 server.js 文件中的代码更改为以下代码时,它成功运行:
const port = process.env.port || 8080;
Run Code Online (Sandbox Code Playgroud)
重新部署到 Azure 后,它现在可以工作了。
| 归档时间: |
|
| 查看次数: |
22526 次 |
| 最近记录: |