首页 文章

Openshift Layer4连接,App无法启动

提问于
浏览
5

我最近将一组node.js更改推送到Openshift上的应用程序 . 该应用程序在我的本地计算机上运行良好,非常接近Openshift部署的vanilla示例 . Openshift haproxy日志有这个最后一行:

[fbaradar-hydrasale.rhcloud.com logs]> [WARNING] 169/002631(93881):Server express / local-gear为DOWN,原因:Layer4连接问题,信息:“连接被拒绝”,检查持续时间:0ms . 剩下0个活动服务器和0个备份服0个会话处于活动状态,0个队列正在运行,0个队列正在运行

nodejs.log具有此最后一行,并且在此行之前没有错误消息: DEBUG: Program node server.js exited with code 8

我搜索了高低,似乎找不到任何有类似问题的人或提示如何解决这个问题 . 显然,上述结果在尝试通过Web访问应用程序时,503服务不可用 .

2 回答

  • 8

    看看这个问题,我认为它正在发生,因为你没有在root'/'配置任何路由 . OpenShift使用HAProxy作为可伸缩应用程序中的负载均衡器 . HAProxy配置为ping root“/”url以进行运行状况检查,以确定您的应用程序是启动还是关闭 . 在您的应用程序中,您还没有在根URL上配置任何内容,因此当HAProxy ping“/”它获得503时,因此您的应用程序就像这样 . 有两种方法可以解决此问题

    • 创建一个index.html并将其推送到OpenShift应用程序

    • 更好的解决方案是配置HAProxy配置文件 . 使用 rhc ssh --app 命令将SSH转换为主设备,然后将目录更改为 haproxy/conf ,然后将 option httpchk GET / 更新为 option httpchk GET /valid_location ,最后使用rhc cartridge-restart --cartridge haproxy重新启动HAProxy . 您可以转到http://myapp-myusername.rhcloud.com/haproxy-status查看您的齿轮状态 .

    希望这会帮助你 .

  • 1

    谢谢你的回复!但是,我刚刚通过回滚并一次进行一次更改来发现问题所在 . 在子文件中有一个隐藏的npm依赖关系 . 此依赖项尚未添加到package.json文件中,并且Openshift无法正确地重建节点 . 一旦添加了依赖项,一切都开始再次运行 . 日志错误有点像红色鲱鱼,只是没有一个好的应用程序启动的副作用!

相关问题