Alibaba Cloudサーバーはリモートでredisに接続します
理由分析:
1)マシン間のネットワークに接続できない
2)ipとポート番号が正しくない
3)仮想マシンのファイアウォールの理由(可能性が高い)
4)バインド127.0.0.1がredis.conf#Commentで使用されていない
まず、クラウドサーバーのredisポート6379にアクセスできない可能性があります。まず、cmdにコマンドtelnet 127.0.0.1 6379を入力します。
次に、tallnetコマンドが存在しないというエラーが発生します。
-bash: telnet: command not found
次に、telnetコマンドをインストールする必要があります
yum list telnet* 列出telnet相关的安装包
yum install telnet-server 安装telnet服务
yum install telnet.* 安装telnet客户端
その後また
telnet 127.0.0.1 6379
redis-serverマシンのポート6379にアクセスできるかどうかを確認します。アクセスできない場合は、リモートマシンのファイアウォールをオフにするか、通過許可を追加する必要があります。
1)rootユーザーを使用してログインし、vi / etc / sysconfig / iptables、図に示すように行を追加して
、ファイアウォールを再起動します。
systemctl restart iptables
再びエラー
Redirecting to /bin/systemctl restart iptables.service
ファイアウォール関連の手順
1 をダウンロードし、systemctlをインストールする必要があります。
yum install iptables-services
2.起動するように設定します。
systemctl enable iptables.service
3.次に、再起動などのファイアウォールコマンドを実行できます。
systemctl stop iptables
systemctl start iptables
systemctl restart iptables
systemctl reload iptables
ファイアウォールのチェック後、上記の問題が引き続き発生する場合は、redisを引き続き構成する必要があることを意味します。デフォルトでは、redisにアクセスできるのはローカルマシンのみです。リモートでアクセスする場合は、redis.conf構成ファイルを変更する必要があります。
redis.confディレクトリに入り、vimコマンドで開き、bind行を見つけて変更し、保存してwqを終了し、redis-serverを再起動します。
バインド後、許可されたIPが追加されます。
バインド127.0.0.1は、マシンのみがアクセスできることを意味します。許可されたIPを追加するか、この行を直接コメント化して、すべてのマシンがアクセスできるようにすることができます。
上記の問題を解決した後の新しい問題:DENIED Redisが保護モードで実行されている
エラーメッセージは非常に長くなりますが、主に、Redisがプロテクトモードを有効にしたことを意味します。これは、Redis 3.2によって追加された新機能でもあります。プロテクトモードを有効にしたRedisは、ローカルログインのみを許可します。これは、図に示すように、構成ファイルredis.confにも設定されています。
ここで、yesは保護モードがオンになっていることを意味します。パスワードを入力するか、noにしてオフにすることができます。ここでは、保護モードをオフにしてから、wqを保存して終了した後、redis-serverを再起動します。
接続成功後はこんな感じ
wangkongming@Vostro ~ $ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
ログアウトするには?
ctrl +]、次にqをもう一度押します。