2016-11-11 4 views
0

私はExpress.jsにNode.jsアプリケーションを作成しています。 Ubuntu Server 16.04で動作するEC2インスタンスにRedisサーバーがインストールされています。Express.jsを使用してローカルシステム上で実行されているnode.jsアプリケーションから、EC2上で実行されているredisに接続する方法は?

var redis = require('redis'); 
var client = redis.createClient(6379,"127.0.0.1"); 

私はRedisののEC2インスタンスに接続しようとすると、私はこのようなエラーが出る: - - :

events.js:141 
    throw er; // Unhandled 'error' event 
^

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379 
at Object.exports._errnoException (util.js:870:11) 
at exports._exceptionWithHostPort (util.js:893:20) 
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1061:14) 
私はポートと、このようなホストを記載しているRedis.IのためのNPMモジュールをインストールしています

ec2で実行されているredisに接続するにはどうすればよいですか?

+0

sshでトンネリングを試しましたか? – mscdex

+0

私はパテを使用します。これは通常のsshと同じです – APJ

+0

EC2上のRedisサーバーの適切なIPアドレスが必要で、そのIPアドレスに接続しようとしているローカルシステムからそのIPアドレスに到達可能である必要があります。 – jfriend00

答えて

0

エラーメッセージから、あなたのホストでは実際には実行されていないようです。私はredisが実際に次のように実行されていることを確認します:

ps auxwg | grep redis 

実行中のredisプロセスを確認します。別の、より簡単な方法は次のようにローカルのRedisのインスタンスに接続しようとするには「のtelnet」コマンドを使用することです:私の場合は

wintermute:~ 07:52:58 melgart$ telnet 127.0.0.1 6379 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 

アップとi「が接続されている」応答を得るように実行されているのRedis。 HTH

関連する問題