Openshift - 当我访问应用程序时 503 服务暂时不可用

Posted

技术标签:

【中文标题】Openshift - 当我访问应用程序时 503 服务暂时不可用【英文标题】:Openshift - 503 Service Temporarily Unavailable when i am accessing the app 【发布时间】:2013-01-02 00:37:33 【问题描述】:

我使用 node.js 和 mongo db 在 Openshift here 上托管了一个应用程序。它昨天和今天运行得很好,当我访问它时,我得到了

服务暂时不可用错误

我搜索了一些线程并尝试了这个命令

rhc tail -a news

结果是

npm 错误!节点 -v v0.6.20 npm 错误! npm -v 1.1.37 npm 错误!代码

ELIFECYCLE npm 错误!消息 OpenShift-Sample-App@1.0.0 start: `node

server.jsnpm ERR! messagesh "-c" "node server.js"` 以 1 失败

npm 错误! npm 错误!可以在以下位置找到其他日志记录详细信息:npm ERR!

/var/lib/openshift/4eb0c449f78a4d7e937726185b5e636e/app-root/runtime/repo/npm-debug.log

npm 错误!不好的代码未定义的 npm ERR!不好的代码 1

我也试过

rhc app status -a news

结果是

结果:Geargroup nodejs-0.6+mongodb-2.2 启动

我也尝试重新启动我的应用程序

rhc app restart

它正确地重新启动。 你能告诉我这是什么问题吗?

【问题讨论】:

【参考方案1】:

正如Hardy 所说,我仍然不知道超出了哪个资源。不过现在已经修好了。

这就是我所做的。

    只需按照here 的说明远程访问您的应用控制台即可。

    使用 PuTTy 或 Cygwin 等客户端 SSH 进入控制台。

    只需输入ctl_app status 即可检查应用的状态。对我来说,它就像: 应用当前无法访问或停止。

    只需输入ctl_all start即可启动它

现在应用可以像以前一样工作了。

【讨论】:

m 有完全相同的问题... ctl_all start 表示已启动,但我再次调用 ctl_app status :表示已停止。还有一件事,日志说.. mongodb 连接上的“身份验证失败”,而我提供了 openshift 给出的确切连接 url。复制粘贴..所以没有拼写错误的机会。 好主意。 rhc 说它的矿井正在运行,但 ctl_app 说不然。日志显示应用程序错误与正在停止应用程序运行的配置。修复并启动应用程序为我修复了它。检查日志是必不可少的。【参考方案2】:

您使用的是免费的 OpenShift 帐户(免费 grear)吗?如果是这样,您的应用程序在做什么?它是否非常占用 CPU 或内存。您的设备使用 cgroups 进行监控,一旦您超过任何资源限制(cpu、内存、线程),您的应用程序就会被杀死。在这种情况下,您将收到您描述的消息。不幸的是,没有办法告诉您超出了哪个资源,并且您没有收到有关这是问题的通知。至少这是我使用我的应用程序所经历的。当然,您的应用可能还有其他问题。

【讨论】:

它现在已修复.. 我刚刚配置了 ssh 访问并重新启动了应用程序 这是不正确的。仅当应用程序超出内存限制时才会发生终止; oom_killer 选择一个要杀死的进程。如果您的应用程序只有一个进程(和许多线程),那么您的应用程序将死在水中,直到守望者重新启动它。如果(与基于 httpd 的购物车(如 php)一样)它只是众多过程中的一个,您几乎不会注意到。超过 CPU 只会让 CPU 受到限制。超过 procs/threads/storage 限制意味着您将看到尝试访问这些内容时失败。

以上是关于Openshift - 当我访问应用程序时 503 服务暂时不可用的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 docker 容器访问时,数据存储返回 503

从我的 Java 程序访问 URL 时出现 HTTP 503 错误 [重复]

DNS 迁移后出现 503 错误 AWS ELB

Openshift - 找不到适合 jdbc:mysql 的驱动程序

文件上传失败; 503 错误(加上 COR 错误)

Yarn Registry 总是返回 503 Unavailable