Como faço para configurar outra instância do redis no ubuntu?

8

Basicamente, quero ter 2 instâncias de redis no Ubuntu. Eu olhei para o script /etc/init.d/redis-server e tentei criar um novo (redis-server-dev) apontando para outro arquivo de configuração (nova porta etc), mas não parecia funcionar.

Qual é o procedimento correto?

obrigado

Dan
fonte
Encontrei este debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit que explica como esses scripts funcionam, mas ainda não tenho idéia de como criar uma nova instância.
Dan

Respostas:

19
  • Crie um novo arquivo de configuração /etc/redis/redis-new.conf(copiado do redis.conf) e altere esses campos na nova configuração
    • pidfile
    • porta
    • arquivo de log
    • dir (para o banco de dados padrão)
  • Crie um novo arquivo /etc/init.d/redis-server-new(copiado do arquivo redis-server) e altere esses campos no novo arquivo
    • nome
    • pidfile (o mesmo que no arquivo de configuração na etapa 1)
    • deamon_args (o caminho para o arquivo de configuração na etapa 1).
  • Crie o diretório necessário mkdir /var/lib/redis-new (e dê os direitos adequados chown redis:redis /var/lib/redis-new)
  • Torne o novo arquivo executável: chmod +x /etc/init.d/redis-server-new
  • Registre o novo deamon: update-rc.d redis-server-new defaults
Dan
fonte
Estou recebendo este erro: # update-rc.d padrões redis-server-dev insserv: script redis-server-dev: serviço redis-server já fornecido! insserv: saindo agora!
Bobby S
5

Adicionando a resposta de Dan ,

De acordo com este erro no arquivo de log, precisamos criar um diretório extra

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

tão

mkdir /var/lib/redis-new

Caso contrário /etc/init.d/redis-server-new, não será iniciado.

Não se esqueça de adicionar direitos adequados

chown redis:redis /var/lib/redis-new
hipopótamo
fonte
0

Também há outra maneira, podemos usar o script de instalação em https://github.com/antirez/redis/blob/3.0/utils/install_server.sh (vem com a fonte se você compilou redis da fonte), existem 2 arquivos de modelo:

  1. redis_init_script.tpl (está no diretório utils)
  2. redis.conf(está no ../diretório de utils na fonte

Você precisa informar apenas a porta na qual a nova instância deve ser executada (existem outras opções configuráveis, mas os padrões podem ser usados); o restante do posicionamento dos arquivos será feito automaticamente.

Mohit
fonte