2016-11-08 4 views
1

私のangular2アプリでは、EBSでは、私はPORT環境変数を定義します。私はそのポート変数を使用するか、少なくとも私は自分のノードサーバー内でそれを使用しようとしています。ノード/角度2アプリでのEBS/AWSは、ポートを8081に設定します。

console.log("Express Serversss listening on " + global.process.env.PORT + " for env " + global.process.env.NODE_ENV); 

次に、私のポートをEBS設定エリア内の3001に設定します。私はその後、EBSにアプリケーションをデプロイする場合しかし、それはいつも私を与える:

「エクスプレス・サーバーは、ENVステージングのために8081をリッスンしていない: ポート8081がすでに使用されている」私のコードでは何の場所、しかし

んポート8081はどこにでも宣言してください。だから、私はこのポート番号がどこから来ているのかはよく分かりません。

思考?

+0

8081に上書きされているようです。他のprocess.env変数は同じままです...しかし、PORTはありません。 –

答えて

0

私は今のところ私の前でそれを持っていませんが、一般的に弾力のあるbeanstalkアプリケーション環境設定でやっていますか、環境変数を指定するか、PORT変数。環境変数を使用して

  • 、あなたは言うだろうPORT = 2222(またはあなたが好きな)
  • かは、あなたがコマンドは、あなたの実際のコードで、またPORT=2222 node myserver.js

node myserver.jsから変更することができ特定のポートで実行するようにアプリケーションが明示的にプログラムされていないことを確認する必要があります。そうであれば、実行しようとしているポートのサポートを追加する必要があります。

あなたが正しい道のりで働いてくれることを望む希望。それは私の豆の茎を使用して私の最初の時間を把握するために私はしばらくかかりました。

0

私は問題を把握しました。 AWSがprocess.env.PORTに割り当てるポートを上書きできると思っただけでなく、実際のノードサーバーの前にソケットサーバーも作成していました。ノードエクスプレスジェネレータはbin/wwwの中にサーバの初期化を置くので、作成した後に私のサーバをsocket.ioに渡す必要がありました。

var port = normalizePort(process.env.PORT || '3001'); 
app.set('port', port); 

/** 
* Create HTTP server. 
*/ 

var server = http.createServer(app); 

/** 
* Listen on provided port, on all network interfaces. 
*/ 

server.listen(port); 
server.on('error', onError); 
server.on('listening', onListening); 


var io = require('socket.io')(server); 
require('../routes/socket.js')(io); 

これは機能しました。

関連する問題