ubuntuでredisの別のインスタンスを構成するにはどうすればよいですか?


8

基本的に、Ubuntuでredisの2つのインスタンスを使用したいと思います。/etc/init.d/redis-serverスクリプトを調べて、別の構成ファイル(新しいポートなど)を指す新しいスクリプト(redis-server-dev)を作成しようとしましたが、機能していないようです。

正しい手順は何ですか?

ありがとう


このdebian.org/doc/debian-policy/ch-opersys.html#s-sysvinitは、これらのスクリプトがどのように機能するかを説明していますが、新しいインスタンスを作成する方法がわかりません。
Dan

回答:


19
  • 新しい構成ファイル/etc/redis/redis-new.conf(redis.confからコピー)を作成し、新しい構成のこれらのフィールドを変更します
    • pidfile
    • ポート
    • ログファイル
    • dir(デフォルトのデータベースの場合)
  • 新しいファイルを作成し/etc/init.d/redis-server-new(ファイルredis-serverからコピー)、新しいファイルのこれらのフィールドを変更します
    • 名前
    • pidfile(ステップ1の構成ファイルと同じ)
    • deamon_args(ステップ1の構成ファイルへのパス)。
  • 必要なディレクトリを作成しますmkdir /var/lib/redis-new (適切な権限を付与しますchown redis:redis /var/lib/redis-new
  • 新しいファイルを実行可能にします。 chmod +x /etc/init.d/redis-server-new
  • 新しいデーモンを登録します。 update-rc.d redis-server-new defaults

このエラーが発生します:#update-rc.d redis-server-dev defaults insserv:script redis-server-dev:service redis-server already already!insserv:現在終了しています!
ボビーS

5

ダンの答えに加えて、

ログファイルのこのエラーによると、1つの追加ディレクトリを作成する必要があります

# Can't chdir to '/var/lib/redis-new': No such file or directory

そう

mkdir /var/lib/redis-new

そうし/etc/init.d/redis-server-newないと起動しません。

適切な権利を追加することを忘れないでください

chown redis:redis /var/lib/redis-new

0

また、別の方法もあります。https://github.com/antirez/redis/blob/3.0/utils/install_server.sh(ソースからredisをコンパイルした場合はソースに付属)にあるインストールスクリプトを使用できます。 2つのテンプレートファイルがあります。

  1. redis_init_script.tpl (utilsディレクトリにあります)
  2. redis.conf../ソースのutils のディレクトリにあります

新しいインスタンスを実行するポートのみを指定する必要があります(他に構成可能な選択肢がありますが、デフォルトを使用できます)。残りのファイルの配置は自動的に行われます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.