¿Cómo configuro otra instancia de redis en ubuntu?

8

Básicamente quiero tener 2 instancias de redis en Ubuntu. Miré el script /etc/init.d/redis-server e intenté crear uno nuevo (redis-server-dev) apuntando a otro archivo de configuración (puerto nuevo, etc.) pero no pareció funcionar.

Cuál es el procedimiento correcto?

Gracias

Dan
fuente
Encontré este debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit que explica cómo funcionan esos scripts pero todavía no tengo idea de cómo crear una nueva instancia.
Dan

Respuestas:

19
  • Cree un nuevo archivo de configuración /etc/redis/redis-new.conf(copiado de redis.conf) y cambie estos campos en la nueva configuración
    • archivo pid
    • Puerto
    • archivo de registro
    • dir (para la base de datos predeterminada)
  • Cree un nuevo archivo /etc/init.d/redis-server-new(copiado del archivo redis-server) y cambie estos campos en el nuevo archivo
    • nombre
    • pidfile (igual que en el archivo de configuración en el paso 1)
    • deamon_args (la ruta al archivo de configuración en el paso 1).
  • Cree el directorio necesario mkdir /var/lib/redis-new (y dele los derechos correspondientes chown redis:redis /var/lib/redis-new)
  • Haga que el nuevo archivo sea ejecutable: chmod +x /etc/init.d/redis-server-new
  • Registre el nuevo demonio: update-rc.d redis-server-new defaults
Dan
fuente
Recibo este error: # update-rc.d redis-server-dev por defecto insserv: script redis-server-dev: ¡servicio redis-server ya proporcionado! insserv: saliendo ahora!
Bobby S
5

Agregando a la respuesta de Dan ,

Según este error en el archivo de registro, tenemos que crear un directorio adicional

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

entonces

mkdir /var/lib/redis-new

De /etc/init.d/redis-server-newlo contrario no comenzará.

No olvides agregar los derechos adecuados

chown redis:redis /var/lib/redis-new
Hipo
fuente
0

También hay otra manera, podemos usar el script de instalación que se encuentra en https://github.com/antirez/redis/blob/3.0/utils/install_server.sh (viene con la fuente si ha compilado redis desde la fuente), hay 2 archivos de plantilla:

  1. redis_init_script.tpl (está en el directorio utils)
  2. redis.conf(está en el ../directorio de utils en la fuente

Debe indicar solo el puerto en el que se ejecutará la nueva instancia (hay otras opciones configurables, pero se pueden usar los valores predeterminados), el resto de la ubicación de los archivos se realizará automáticamente.

Mohit
fuente