2
OpenShiftでnodejsサーバーを開発しましたが、現在、新しいプロジェクトのためにHerokuで同じ種類のサーバーを作成しようとしています。ここでエラーEADDRNOTAVAILとHeroku nodejsサーバー
は私のサーバーの最小限のコードです:私のOpenShiftサーバと
var http = require('http');
var port = process.env.PORT || 8080;
var address = process.env.IP || '127.0.0.1';
console.log(address);
console.log(port);
var server = http.createServer(function(req, res)
{
res.writeHead(200, { 'Content-Type': 'text/html', 'Access-Control-Allow-Origin': '*' });
res.write(JSON.stringify({ valid: true }));
res.end();
});
server.listen(port, address);
違いです:
- プロセスによる変数process.env.OPENSHIFT_NODEJS_PORT、process.env.OPENSHIFT_NODEJS_IPの交換.env.PORTとprocess.env.IP。
- 私は、このコマンドラインでIP変数を設定します。私は私のサーバーを起動することはできません、それは常にクラッシュし、私は、なぜ私のサーバーのログを理解していないIP = MYSERVERADDRESS.com
を設定します。Herokuの設定以下のとおりです。
MYSERVERADDRESS.com
41184
events.js:154
throw er; // Unhandled 'error' event
^
Error: listen EADDRNOTAVAIL MYSERVERIP:41184
at Object.exports._errnoException (util.js:893:11)
at exports._exceptionWithHostPort (util.js:916:20)
at Server.__dirname.Server.Server._listen2 (net.js:1233:19)
at net.js:1391:9
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:63:16)
at listen (net.js:1282:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:82:10)
ああ、サンプルアプリが動作するように得ることの喜びを.... – eflat