Как мне настроить другой экземпляр Redis в Ubuntu?

8

Я в основном хочу иметь 2 экземпляра Redis на Ubuntu. Я посмотрел на скрипт /etc/init.d/redis-server и попытался создать новый (redis-server-dev), указывающий на другой файл конфигурации (новый порт и т. Д.), Но, похоже, он не работал.

Какова правильная процедура?

Спасибо

Дэн
источник
Я нашел этот файл debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit, в котором объясняется, как работают эти сценарии, но я до сих пор не знаю, как создать новый экземпляр.
Дан

Ответы:

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 по умолчанию insserv: скрипт redis-server-dev: служба redis-server уже предоставлена! insserv: выход сейчас!
Бобби С
5

Добавляя к ответу Дэна ,

В соответствии с этой ошибкой в ​​файле журнала мы должны создать один дополнительный каталог

# 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(находится в ../каталоге от утилит в источнике

Вам нужно указать только порт, на котором будет запущен новый экземпляр (есть другие настраиваемые варианты, но можно использовать значения по умолчанию), остальное размещение файлов будет выполнено автоматически.

Мохит
источник