1. ホーム
  2. php

[解決済み] Redisにパスワードを設定するには?

2022-05-16 09:50:34

質問

私はローカルマシンで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を停止します。

    [23925] 23 Sep 20:23:03 # Fatal error, can't open config file 'stop'(致命的なエラー、設定ファイル'stop'を開くことができません。

    通常、私のローカルマシンでは、次のように入力します。

    <ブロッククオート

    /etc/init.d/redis-server 停止

redisサーバを停止させたいのですが、私のライブサーバでは/etc/init.dにredis-serverというプロセスが存在しないため、うまく行きません。

どのように解決するのですか?

パスワードを設定するには、redis.conf ファイルを編集して、次の行を見つけます。

# requirepass foobared

それからコメントを解除し、foobaredをあなたのパスワードに変更します。 設定ファイルの注意書きにあるように、外部のユーザが1秒間に150k以上のパスワードを推測するのは簡単です。

predis を使用して新しいパスワードで認証するには、表示された構文が正しいです。 接続パラメーターの 1 つとしてパスワードを追加するだけです。

redisをシャットダウンするには...設定ファイルにある pidfile の設定を確認してください。

pidfile /var/run/redis.pid

コマンドラインから、実行します。

cat /var/run/redis.pid

これで実行中のサーバーのプロセス ID が得られ、その pid を使ってプロセスを kill するだけです。

kill 3832

更新

また、付け加えておくと、このように /etc/init.d/redis-server stop をライブサーバーで動作させることもできます。 etc/init.d/ にあるこれらのファイルはすべて単なるシェル スクリプトで、ローカル サーバーから redis-server スクリプトを取り出し、同じ場所にあるライブ サーバーにコピーし、vi など好きなものを使ってそれが何をするか見るだけです。