Node.js Can';无法使节点应用程序在openshift上运行,错误:侦听EACCES

Node.js Can';无法使节点应用程序在openshift上运行,错误:侦听EACCES,node.js,openshift,Node.js,Openshift,几个小时以来,我一直在努力解决这个问题,通过无休止的谷歌搜索,我尝试启动应用程序,转到url并看到一个503服务不可用的错误,然后我将cd刻录到app root/repo中,尝试手动启动server.js,并获得以下信息: [my-app-url.rhcloud.com repo]\> node server.js { [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bso

几个小时以来,我一直在努力解决这个问题,通过无休止的谷歌搜索,我尝试启动应用程序,转到url并看到一个503服务不可用的错误,然后我将cd刻录到app root/repo中,尝试手动启动server.js,并获得以下信息:

[my-app-url.rhcloud.com repo]\> node server.js
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }

js-bson: Failed to load c++ bson extension, using pure JS version
Connecting to server

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: listen EADDRINUSE
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1039:14)
at listen (net.js:1061:10)
at net.js:1143:9
at dns.js:72:18
at process._tickCallback (node.js:415:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
at node.js:902:3
这简直让我发疯,我所要做的只是一个简单的api,它在我的本地环境中工作得非常完美


谢谢。

已经有另一个程序或此程序的实例在同一端口上运行

运行-
sudonetstat-tapen | grep:“

然后终止进程

然后尝试运行服务器


谢谢

您需要绑定到OPENSHIFT_NODEJS_IP,我发现您只绑定到了正确的端口,而不是IP:


你能把设置监听端口和地址的代码包括进去吗?我想是的,我得到的URL格式一定是错误的:/usr/bin/sudo:Permission deniedas它在rhel中可能是您应该安装sudo并运行上面的-to-install-sudo-yum-install-sudoGot:CRITICAL:yum.main:Error:rpmbdb-open-failed替换my server.js可以正常工作,但在我开始添加mongodb数据库之前也运行正常,我的server.js现在是这样的:但相同的错误持续存在这与我在原始帖子中发布的内容完全相同,我认为mongoose可能无法连接,但它通过节点cli使用与脚本完全相同的参数连接良好,我快疯了。当你推git时,您在构建/安装npm模块时是否遇到任何错误?你能链接到你的package.json吗?我收到一些关于缺少自述数据package.json的警告:
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port      = process.env.OPENSHIFT_NODEJS_PORT || 8080;

var WebSocketServer = require('ws').Server
var http = require('http');

var server = http.createServer(function(request, response) {
    console.log((new Date()) + ' Received request for ' + request.url);
    response.writeHead(200, {'Content-Type': 'text/plain'});
      response.write("Welcome to Node.js on OpenShift!\n\n");
      response.end("Thanks for visiting us! \n");
});

server.listen( port, ipaddress, function() {
    console.log((new Date()) + ' Server is listening on port 8080');
});

wss = new WebSocketServer({
    server: server,
    autoAcceptConnections: false
});
wss.on('connection', function(ws) {
  console.log("New connection");
  ws.on('message', function(message) {
    ws.send("Received: " + message);
  });
  ws.send('Welcome!');
});

console.log("Listening to " + ipaddress + ":" + port + "...");