私は自分のローカルマシンでredisを使用しているので、PHPクライアントでサーバーに接続するためにパスワードを設定する必要はありません(クライアントとしてpredisを使用しています)。ただし、アプリをライブサーバーに移動するため、redisサーバーに接続するためのパスワードを設定します。
質問がいくつかあります。
パスワードを設定する方法についてインターネット上で確認しましたが、redis.confにパスワードを追加する必要があるようです。しかし、パスワードを設定するために構成ファイルに正確に追加する必要があるものを見つけることができませんでした。
predisでもパスワードを追加する方法を教えてください。次のパラメーターの配列を使用してredisサーバーに接続しています
$ my_server = array( 'Host' => '127.0.0.1'、 'port' => 6379、 'database' => 1);
この方法でパスワードを追加する必要がありますか?
> $my_server = array('Host' => '127.0.0.1','port' =>
> 6379,'database' => 1,'password'=>password);
最後の質問は、ライブサーバーでredis-serverを停止しようとしています。次のコマンドを入力するたびに、同じエラーメッセージが表示され続けます
redis-server stop
[23925] 23 Sep 20:23:03#致命的エラー、設定ファイル 'stop'を開けません
通常、ローカルマシンに入力します
/etc/init.d/redis-server stop
/is/init.dにredis-serverと呼ばれるプロセスがないため、redisサーバーを停止しますが、私のライブサーバーでは動作しません
パスワードを設定するには、redis.confファイルを編集して、この行を見つけます
# requirepass foobared
次に、コメントを外し、foobaredをパスワードに変更します。構成ファイルの注意事項にあるように、32文字程度の長さでかなり長いものを選択していることを確認してください。外部ユーザーは1秒あたり150k以上のパスワードを簡単に推測できます。
Predisを使用して新しいパスワードで認証するには、表示した構文が正しいです。接続パラメーターの1つとしてパスワードを追加するだけです。
Redisをシャットダウンするには... pidfile
設定の設定ファイルを確認してください。
pidfile /var/run/redis.pid
コマンドラインから次を実行します:
cat /var/run/redis.pid
実行中のサーバーのプロセスIDを取得し、そのpidを使用してプロセスを強制終了します。
kill 3832
更新
また、追加したかったのですが、/etc/init.d/redis-server stop
ライブサーバーでの作業に慣れています。 /etc/init.d/内のこれらのファイルはすべてシェルスクリプトであり、ローカルサーバーからredis-serverスクリプトを取り出し、同じ場所にあるライブサーバーにコピーし、viまたは何でも実行するだけです使用したい場合は、いくつかのパスなどを変更する必要があるかもしれませんが、それは非常に簡単なはずです。
クライアントで次のコマンドを使用することもできます
cmd ::config set requirepass p@ss$12E45
上記のコマンドはp@ss$12E45
としてのredis
サーバーパスワード。
例:
redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass"
OK
redis 127.0.0.1:6379> AUTH mypass
Ok
Sudo nano /etc/redis/redis.conf
行の検索とコメント解除# requirepass foobared
、次にサーバーを再起動します
これでパスワードはfoobared
です
redis-cliを使用:
root@server:~# redis-cli
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK
これは一時的にパスワードを設定します(redisまたはサーバーの再起動まで)
テストパスワード:
root@server:~# redis-cli
127.0.0.1:6379> AUTH secret_password
OK
そのためには、redis構成ファイルを更新する必要があります。デフォルトでは、redisのパスワードはありません。
01)redis設定ファイルを開く
Sudo vi /etc/redis/redis.conf
[requirepass[〜#〜] security [〜#〜]セクションの下のフィールドを見つけて、そのフィールドのコメントを外します。次に、"foobared"の代わりにパスワードを設定します=
# requirepass foobared
次のようになります、
requirepass YOUR_PASSWORD
次に、redisを再起動してredis-cliを起動します。
パスワードを正しく設定したかどうかを確認する必要がある場合は、redis-cliで以下のコマンドを実行できます。
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> exit
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> set key2 check
OK
127.0.0.1:6379> get key2
"check"
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> set key1 20
OK
127.0.0.1:6379> get key1
"20"
127.0.0.1:6379> exit
`
ステップ1.以下のコマンド/etc/init.d/redis-server stopを使用してredisサーバーを停止しますステップ2.enterコマンド:Sudo nano /etc/redis/redis.conf
ステップ3.#requirepass foobared Wordを見つけて#を削除し、foobaredをパスワードに変更します
例requirepassルート
redis構成ファイルを開く
Sudo nano /etc/redis/redis.conf
パスフレーズを設定する
取り替える
# requirepass foobared
と
requirepass YOURPASSPHRASE
再起動する
redis-server restart
しかし、パスワードを設定するために構成ファイルに正確に追加する必要があるものを見つけることができませんでした。
構成ファイルは/etc/redis/redis.conf
に配置する必要があり、パスワードはREPLICATIONセクションとLIMITSセクションの間に配置する必要があるSECURITYセクションで設定できます。パスワードのセットアップはrequirepassディレクティブを使用して行われます。詳細については、 [〜#〜] auth [〜#〜] コマンドの説明を参照してください。
ステップ1.以下のコマンド/etc/init.d/redis-server stopを使用してredisサーバーを停止します
ステップ2.コマンドを入力:Sudo nano /etc/redis/redis.conf
ステップ3.#requirepass foobared Wordを見つけて#を削除し、foobaredをパスワードに変更します
例requirepassルート