2016-06-14 13 views
2

私はすべてを試していますが、ログにこのエラーを投げかけています。 urlにアクセスしようとすると502の悪いゲートウェイと言います。私はevenノード上にnodejsアプリケーションをデプロイしていましたが、このエラーが発生しました

events.js:141 
     throw er; // Unhandled 'error' event 
    ^
Error: listen EACCES 0.0.0.0:80 
at Object.exports._errnoException (util.js:870:11) 
    at exports._exceptionWithHostPort (util.js:893:20) 
    at Server._listen2 (net.js:1221:19) 
    at listen (net.js:1270:10) 
    at net.js:1379:9 
    at nextTickCallbackWith3Args (node.js:453:9) 
    at process._tickCallback (node.js:359:17) 
    at Function.Module.runMain (module.js:443:11) 
    at startup (node.js:139:18) 
    at node.js:968:3 

ここは私のapp.jsです(package.jsonで指定された私の開始スクリプトもあります)。

var app = require('express')(); 
var http = require('http').Server(app); 
var path = require('path'); 
var io = require('socket.io')(http); 


var routes = require('./routes/home'); 
var users = require('./routes/users'); 

io.on('connection', function(socket) { 
    console.log('a user connected'); 
    socket.on('message', function (data) { 
     console.log(data); 
     io.emit('msg', data); 
    }); 
}); 

http.listen(process.env.port, '0.0.0.0', function(err) { 
    console.log('server runninng at ' + http.url); 
}); 

コンソールで(stdoutが)それは 言うものの - >起動アプリ - 未定義

答えて

1

env_varsは大文字と小文字が区別されるため、process.env.portprocess.env.PORTに更新する必要があります。問題を引き起こしているかを確認するためにあなたのコードで

http.listen(process.env.PORT, '0.0.0.0', function(err) { 
    console.log('server runninng at ' + http.url); 
}); 
+0

私は働いた!ありがとう –

0

0.0.0.0で>実行中のサーバが聞くために有効なアドレスではありません。 127.0.0.1を試して、ローカルマシンのループバックを聞くか、代わりにマシンのIPアドレスを取得してください。

0.0.0.0は通常ルーティングするすべてのポートを意味します。

1

実験:

聞くには、次のようになります。最初の試行:それはあなたのprocess.env.PORT変数とは何かをした場合、これは問題を解決します

http.listen(4000, '0.0.0.0', function(err) {... 

。それでも解決しない場合は

は、試してみてください。

http.listen(4000, function(err) {... 

提供するホスト名(0.0.0.0)とは何かだった場合、これは問題を解決します。 listen関数のhostname引数はオプションであるため、これは無しで問題ありません。

関連する問題