4

我正在尝试使用命令行工具将一个简单的ExpressJS应用程序部署到Openshift 。我在下面提供了调试跟踪:

>npm info ok 
Preparing build for deployment
Deployment id is 5e2abc99
Activating deployment
HAProxy already running
HAProxy instance is started
Starting NodeJS cartridge
Sat Aug 15 2015 15:17:47 GMT-0400 (EDT): Starting application 'xxxxx' ...
Waiting for application port (8080) become available ...
Application 'xxxxx' failed to start (port 8080 not available)

Git Post-Receive Result: failure
Activation status: failure
Activation failed for the following gears:
55cf8fc589f5cf9dbf00023c (Error activating gear: CLIENT_ERROR: Failed to execute: 'control start' for /var/lib/openshift/55cf8fc589f5cf9dbf00023c/nodejs
#<IO:0x00000001ec7290>
#<IO:0x00000001ec7218>
>)
Deployment completed with status: failure
postreceive failed

但是我的应用程序正在侦听端口 8080:

app.listen(process.env.OPENSHIFT_NODEJS_PORT || 8080);

任何人都可以帮忙吗?

部署一个空的应用程序似乎不会引发任何错误。

4

2 回答 2

9

你检查过服务器上的日志吗?我遇到了类似的问题,这是因为我的脚本中有语法错误。如果您通过 SSH 连接到您的应用程序并且

tail app-root/logs/nodejs.log

您可以看到应用程序的控制台输出。如果 10 行不够,请使用 -n [# of lines] 查看更多日志,或者使用更少,如果您想上下滚动查看文档,请按 shift + g 从底部开始查看。

于 2015-08-17T13:32:07.680 回答
0

尝试通过 ssh 登录到您的 openshift 节点。我使用rhc 工具。运行您的代码,您将看到问题出在哪里。

于 2016-11-04T14:39:20.063 回答