我试图将一个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中提交这个应用程序时,这是如何工作的呢?这是非常简单的代码。我下载了一些代码,这是一个聊天应用程序,客户端服务器需要配置来监听某个端口(我在本地主机中使用了端口号3000 )。
它可以在本地主机的3000端口上工作,但是如何使它在Openshift中工作呢?
发布于 2013-10-08 18:36:21
您需要监听端口process.env.OPENSHIFT_NODEJS_PORT。所以像这样的事情应该有效:
server.listen(process.env.OPENSHIFT_NODEJS_PORT || 3000);例如,参见这里:错误:聆听Openshift应用程序上的EACCES
发布于 2013-10-21 18:31:31
socket.io的问题在于,npm包是在本地安装的,而不是在openshift中安装的(依赖项不会被推送)。为此,您可以通过ssh登录(查找“要登录到您的应用程序吗?”在openshift控制面板的右菜单中,遵循使用说明并使用所提供的ssh连接),然后使用终端o Putty登录,然后转到:
cd app-root/repo 或
cd $OPENSHIFT_REPO_DIR然后
npm install socket.io我用它来安装猫鼬和其他依赖关系,没有麻烦。你也可以用
node server.js)从命令行运行站点;)
https://stackoverflow.com/questions/19255186
复制相似问题