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.js
npm ERR! message
sh "-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 服务暂时不可用的主要内容,如果未能解决你的问题,请参考以下文章
从我的 Java 程序访问 URL 时出现 HTTP 503 错误 [重复]