[解決済み] Redis - リモートサーバへの接続
質問
のクイックスタートガイドの指示に従い、Redisをインストールしたところ、うまくいきました。 http://redis.io/topics/quickstart のクイック・スタート・ガイドの指示に従い、Ubuntu 10.10サーバーにインストールしました。私はサービスをdameonとして実行しています(init.dで実行できるように)。
サーバーはRackspace Clusterの一部で、内部と外部のIPを使用しています。ホストはポート 6379 (Redis の標準) で実行されています。
以下のようにiptablesに6379番ポートからの着信接続を許可する行を追加しています。
ACCEPT tcp -- anywhere anywhere tcp dpt:6379
別のサーバーにある私のPHPコードでは、ここで新しいRedisサーバーに接続しようとしています。
$this->load->helper("iredis");
$hostname = "IP ADDRESS HERE";
$redis = new iRedis(array('hostname' => $hostname, 'port' => 6379));
これを実行すると、いつも接続が拒否されます。redis.confファイルでは、ローカルバインドコマンドがコメントアウトされているので、localhostのIP以上の上でリッスンされているはずです。ローカルマシンのデータベースには接続できるのですが、他のサーバーには接続できません。外部と内部のIPを試しましたが、うまくいきませんでした。
これを動作させるために何か提案はありますか?
どのように解決するのですか?
まず、想定しているIPでリッスンしていることを確認します。
netstat -nlpt | grep 6379
起動/停止の方法によっては、インスタンスを再起動したつもりが、実際には再起動していなかったということもありえます。netstat は、あなたが考えている場所でリッスンしているかどうかを教えてくれます。そうでない場合、再起動し、再起動したことを確認します。 再起動しても期待した場所でリスニングしていない場合は、念のため設定ファイルを確認してください。
期待する場所で待機していることを確認した後、アクセス権を持つリモート ノードから試してみてください。
redis-cli -h REMOTE.HOST ping
ホスト名やローカルホストの代わりに、リッスンしていると思われる IP を使って、ローカルホストから試してみることもできます。どちらの場合でも、PONGが応答するのがわかるはずです。
そうでない場合、ファイアウォールがブロックしています。これは、ローカルの IPTables またはノード間のファイアウォールの可能性があります。IPtables 設定にログ ステートメントを追加して、6379 を超える接続をログに記録して、何が起こっているかを確認することができます。また、ローカルと非ローカルから同じIPにredis pingを試してみると、よくわかります。ローカルで応答があり、リモートで応答がない場合、私は、オンノードIPテーブルルールの複雑さに応じて、介在するファイアウォールに傾くでしょう。
関連
-
appstreamcli' でエラー: 二重解放または破損 (fasttop): 0x0000000002122000
-
Pip install でエラーが報告されます。AttributeError: 'module' オブジェクトに 'main' 属性がありません。
-
apt-get install with error: E: Unable to correct problems, you have held broken packages.
-
atomは、国内のミラーを設定します。
-
ホスト:github.com を解決できない 問題 解決方法
-
[解決済み] Redisですべてを削除するには?
-
[解決済み] Redisを使用してパターンに一致するキーをアトミックに削除する方法
-
[解決済み] redis-serverを停止するにはどうすればよいですか?
-
[解決済み] Redisにパスワードを設定するには?
-
[解決済み] Ubuntu 14.04 LTS (Trusty Tahr)にia32-libsをインストールする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
makefile:2: *** make後のエラー、解決方法
-
appstreamcli' でエラー: 二重解放または破損 (fasttop): 0x0000000002122000
-
Pip install でエラーが報告されます。AttributeError: 'module' オブジェクトに 'main' 属性がありません。
-
Ubuntu notepad++ をインストールする
-
apt-get install with error: E: Unable to correct problems, you have held broken packages.
-
atomは、国内のミラーを設定します。
-
高性能ウェブサーバーとリバースプロキシサーバーの起動に失敗しました エラー
-
ホスト:github.com を解決できない 問題 解決方法
-
ubuntuでは、virturalboxがエラーで起動します。
-
[解決済み] Ubuntu 14.04 LTS (Trusty Tahr)にia32-libsをインストールする方法