最近,我将一组node.js更改推到Openshift上的一个应用程序中。该应用程序在我的本地机器上运行良好,非常接近Openshift部署的普通示例。Openshift has日志有以下最后一行:
logs>警告169/002631 (93881):服务器快递/本地设备故障,原因: Layer4连接问题,信息:“连接拒绝”,检查持续时间: 0ms。剩下0台活动服务器和0台备份服务器。0会话处于活动状态,0请求,0仍处于队列中。
nodejs.log在这一行之前有最后一行,没有错误描述:DEBUG: Program node server.js exited with code 8。
我到处搜索,似乎找不到有类似问题的人,也找不到如何解决这个问题的提示。显然,当试图通过网络访问应用程序时,上述结果会导致503服务不可用。
发布于 2014-06-19 07:44:04
考虑到这个问题,我认为这是因为您没有在根'/‘上配置任何路由。OpenShift使用HAProxy作为可伸缩应用程序中的负载均衡器。HAProxy被配置为ping root '/‘url以进行健康检查,以确定应用程序是向上还是向下。在您的应用程序中,您没有在根url上配置任何内容,因此当HAProxy pings '/‘它得到503时,您的应用程序就会这样运行。有两种方法可以解决这个问题
rhc ssh --app命令进入主齿轮,然后将目录转换为haproxy/conf,然后将option httpchk GET /更新为option httpchk GET /valid_location,最后使用rhc墨盒重新启动--重新启动--墨盒代理。您可以通过进入http://myapp-myusername.rhcloud.com/haproxy-status来检查齿轮的状态。希望这能帮到你。
发布于 2014-06-19 15:24:05
谢谢你的回应!然而,我只是通过一次回滚和做一个改变来发现问题所在。在一个子文件中有一个隐藏的npm依赖项。此依赖项尚未添加到package.json文件中,并且Openshift未能适当地重新构建节点。一旦添加了依赖项,一切就会重新开始运行。日志错误是有点红鲱鱼,只是一个副作用,没有一个好的应用程序开始!
https://stackoverflow.com/questions/24299211
复制相似问题