Node.js在openshift中部署

我试图部署一个Node.js应用程序的openshift在这个链接在这里

我明白这个代码

var http = require('http'); var server = http.createServer(function(req, res) { res.writeHead(200); res.end('Hello Http'); }); server.listen(3000); 

并没有问题在本地运行

 $ node server.js // saved as server.js 

但是,当我在openshift中提交这个应用程序时,这是如何工作的? 这是非常简单的代码。 我有一些下载的代码是一个聊天应用程序,客户端服务器需要configuration侦听某个端口(我在本地主机上使用端口号3000)。

它在本地主机上的端口号3000工作,但我怎么能使它在Openshift工作?

您需要监听端口process.env.OPENSHIFT_NODEJS_PORT 。 所以这样的事情应该工作:

 server.listen(process.env.OPENSHIFT_NODEJS_PORT || 3000); 

看到这里例如: 错误:听EACCES Openshift应用程序

嘿与socket.io的问题是,你有npm软件包本地安装,但不是在openshift(依赖不被推)。 为此,您可以通过sshlogin(在openshift控制面板的右侧菜单中find“想要login到您的应用程序?”,按照说明并使用提供的ssh连接),然后用terminalo腻子login,并转到:

 cd app-root/repo 

要么

 cd $OPENSHIFT_REPO_DIR 

接着

 npm install socket.io 

我用它来安装mongoose和其他依赖没有麻烦。 也可以使用

 node server.js 

从命令行运行该网站;)