Node.js Can';无法使节点应用程序在openshift上运行,错误:侦听EACCES
几个小时以来,我一直在努力解决这个问题,通过无休止的谷歌搜索,我尝试启动应用程序,转到url并看到一个503服务不可用的错误,然后我将cd刻录到app root/repo中,尝试手动启动server.js,并获得以下信息: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
[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 + "...");