【问题标题】:Openshift Layer4 connection, App Won't StartOpenshift Layer4 连接,App 无法启动
【发布时间】:2014-08-09 13:19:44
【问题描述】:

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

[fbaradar-hydrasale.rhcloud.com 日志]> [警告] 169/002631 (93881): 服务器 express/local-gear is DOWN,原因:Layer4连接问题, 信息:“连接被拒绝”,检查持续时间:0ms。 0 活动和 0 备份 服务器离开了。 0 个会话处于活动状态,0 个已重新排队,0 个仍在队列中。

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

我到处搜索,似乎找不到任何有类似问题的人或有关如何解决此问题的提示。显然,上面的结果在尝试通过 Web 访问应用程序时会出现 503 Service Unavailable。

【问题讨论】:

    标签: node.js openshift haproxy


    【解决方案1】:

    看看这个问题,我认为它正在发生,因为您没有在根“/”处配置任何路由。 OpenShift 使用 HAProxy 作为可扩展应用程序中的负载平衡器。 HAProxy 配置为 ping root '/' url 以进行健康检查以确定您的应用程序是启动还是关闭。在您的应用程序中,您没有在根 url 配置任何内容,因此当 HAProxy ping '/' 时,它会得到 503,因此您的应用程序的行为是这样的。有两种方法可以解决此问题

    1. 创建一个 index.html 并将其推送到 OpenShift 应用程序
    2. 更好的解决方案是配置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查看您的齿轮状态。

    希望这会对你有所帮助。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2015-07-11
        • 2019-05-13
        • 1970-01-01
        • 2020-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-01
        • 1970-01-01
        相关资源
        最近更新 更多