【发布时间】:2015-08-21 04:30:37
【问题描述】:
我正在尝试在 openshift 上托管我的 node.js steambot,我以前没有使用过它,所以基本上我正在尝试向他们的 nodejs 提交一个基本的“在我看来,而不是服务器”“托管”。
所以,当我提交文件等时,每次应用程序启动时,它都会告诉我“端口 8080 不可用”,因此无法启动。 想知道是什么阻塞了端口。
可能是什么问题?
问候
【问题讨论】:
标签: node.js openshift steambot
我正在尝试在 openshift 上托管我的 node.js steambot,我以前没有使用过它,所以基本上我正在尝试向他们的 nodejs 提交一个基本的“在我看来,而不是服务器”“托管”。
所以,当我提交文件等时,每次应用程序启动时,它都会告诉我“端口 8080 不可用”,因此无法启动。 想知道是什么阻塞了端口。
可能是什么问题?
问候
【问题讨论】:
标签: node.js openshift steambot
出于安全原因,openshift 环境的防火墙非常严格。因此,您不能只为您的服务器打开任何端口。 只有您可以打开的端口是:
process.env.OPENSHIFT_NODEJS_PORT
如果您在上传到 openshift 之前在自己的机器上进行测试,检查此环境变量是否存在或使用您自己的端口(如 8080)很有用。所以你通常会使用 do:
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
对于外部,您可以使用他们在端口 80 处提供的 URL 访问您的 openshift 服务器。
【讨论】:
OpenShift 会定期检查您的应用程序,看看它是否正常工作。期望所有应用程序都是“网络应用程序”,因此如果您没有在正确的端口上侦听,您的应用程序可能会重新启动、暂停或无法正确启动。
为了让您的机器人看起来很健康,您需要绑定到(process.env.OPENSHIFT_NODEJS_PORT ,process.env.OPENSHIFT_NODEJS_IP),如“Run Your Nodejs projects on OpenShift in Two Simple Steps”中所述。
在“/”上返回一个简单的 HTTP 200 应该足以让 OpenShift 相信您的机器人(网络应用程序)健康状况良好。
【讨论】: