【发布时间】:2023-12-08 13:33:01
【问题描述】:
我们在单个服务器中使用 4 个不同的 express 项目,从每个项目根目录运行 pm2 start cmd 来启动应用程序。
并且使用 ec2 Linux 服务器,在入站规则中添加端口3000、3001,两者都运行良好但无法通过3001 访问 API,并且可以通过 3000 访问,这可能是什么问题?
同一项目在3000 运行,但不在3001,因此我们可以确认,我们的项目中没有错误。
在终端 nodemon app 尝试运行正常,但 Postman 无法访问得到相同的错误:
Could not get any response
There was an error connecting to http://ec2-x-x-amazonaws.com:3001/api/login.
我们如何在可用/定义的端口中运行多个节点/express 项目?
3001 tcp 0.0.0.0/0, ::/0 ✔
3000 tcp 0.0.0.0/0, ::/0 ✔
某些端口在运行时没有添加为入站规则,例如 8088、8089。
pm2 状态显示所有端口都运行良好。
pm2 list 在上面,id 8 的端口号为3001
【问题讨论】:
-
在这种情况下,主要检查
pm2 status是否正在运行应用程序,该应用程序预计将在3000中运行,并检查它是否仅在3000中列出,而不是任何其他端口。跨度> -
@saikatchakrabortty - 端口
3000运行良好,但3001不能从pm2 status运行,我该如何存档? -
@saikatchakrabortty - 重新启动所有端口
pm2 restart all --watch,现在3001也运行良好,但无法从邮递员访问,并且没有从pm2 logs获得任何错误日志 -
再次确保您已添加入站和出站规则,
-
这一切看起来您只需要在您的 EC2 安全组中打开端口 3001...
标签: node.js http amazon-ec2 pm2 port-number