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
从命令行运行该网站;)