0

AmazonAWSEc2マイクロインスタンスでnode.jsサーバーとRedisサーバーを実行しようとしています。

Redisサーバーをインストールしましたが、redis-serverコマンドは正常に実行されます。

Forever」を使用して、Redis-Serverを実行し続けます。そしてそれはうまくいきます。

しかし、Nodeサーバーを起動すると、Redis-Serverに接続できません。

次のエラーが発生します-

Error Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 

「ForeverList」を実行すると、redisサーバーが正常に実行されていることが示されます。

info:   Forever processes running
data:       uid  command script                         forever pid   logfile                        uptime          
data:   [0] _pXw node    app.js                         26670   26671 /home/ubuntu/.forever/_pXw.log 0:0:0:13.463    
data:   [1] ylT1 node    redis-server                   25013   26681 

redis-serverが起動すると、6379ポートで起動することを確認しました。

誰かがこのエラーが発生している理由と私がこれを修正する方法を説明するのを手伝ってもらえますか?

次のコードを使用してRedisに接続します。Redis用にクライアントライブラリをインストールしています。

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

ローカルホストでコードを実行すると、すべてが正常に実行されます。

4

2 に答える 2

3

AWSの外部でRedisを使用する場合は、ローカルのNodejsアプリケーションからAWSで動作するRedisサーバーに接続するのに役立つ次の手順を試すことができます。

1)AWSの場合:sudo cp/etc/redis/redis.conf.backup/etc/redis/redis.conf。バックアップは何が悪いのかを理解するためにあなたに多くのエネルギーを節約します:)

2)AWSの場合:redis-serverを停止します:sudo /etc/init.d/redis-server stop

3)AWSの場合:/etc/redis/redis.confを開き、ラインバインド127.0.0.1を見つけます。バインド0.0.0.0の下に新しい行をコピーして貼り付けます。したがって、バインドパラメータを使用して複数の行を作成できます。ところで、接続のポートはredis.confでも変更できます

4)AWSの場合:redis-serverを開始します:sudo /etc/init.d/redis-server start

5)AWSの場合:redis-cli pingと入力すると、redis-serverが正常に起動した場合にPONGメッセージが表示されます。

6)AWSの場合:実行中のインスタンスのSequrity Groupを開き、「Type」を含む新しいルールを追加します-カスタムTCPルール、ポート範囲-6379

7)ローカルNodejsアプリケーションの場合:

var redis = require("redis");
var redisClient = redis.createClient(redis_port, redis_host);

于 2014-05-31T17:47:15.677 に答える
0

ピンポンルーチンを使用して、AWSでredisクライアントサーバー接続を確認しましたか。次に、rootとして、永久に実行せずに実行してみてください。

于 2012-06-04T16:45:06.073 に答える