0

OpenShift で実行されている Node.js でテスト アプリケーションを作成していますが、現在は起動しません。

これは私のコードです:

#!/bin/env node

var http = require('http');

var ip = process.env.OPENSHIFT_NODEJS_IP;
var port = process.env.OPENSHIFT_NODEJS_PORT;

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(ip, port);
console.log('Server running');

エラーが発生します

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: listen EADDRINUSE
at errnoException (net.js:884:11)
at Server._listen2 (net.js:1003:19)
at listen (net.js:1044:10)
at Server.listen (net.js:1104:5)
at Object.<anonymous> (/var/lib/openshift/52854c6f4382ec071400051d/app-root/runtime/repo/server.js:11:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
DEBUG: Program node server.js exited with code 8

これは、ポートにバインドできないことを意味しているようです。これがなぜなのかについてのさまざまな情報を見つけましたが、どれも関連していないようです.

4

1 に答える 1

4

これは、他のプロセスがあなたのポートを使用していることを意味しますprocess.env.OPENSHIFT_NODEJS_PORT。EACCESS は、EADDRINUSE ではなく、許可が拒否されたことを意味します。8080 などの未使用のポートに変更してみてください。使用中のポートは次のコマンドで確認できます。

netstat -tulpn
netstat -tulpn | grep :$OPENSHIFT_NODEJS_PORT //filter by your port
于 2013-11-15T08:43:08.870 に答える