Comment configurer une autre instance de redis sur ubuntu?

8

Je veux essentiellement avoir 2 instances de redis sur Ubuntu. J'ai regardé le script /etc/init.d/redis-server et j'ai essayé d'en créer un nouveau (redis-server-dev) pointant vers un autre fichier de configuration (nouveau port, etc.) mais cela ne semblait pas fonctionner.

Quelle est la bonne procédure?

Merci

Dan
la source
J'ai trouvé ce debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit qui explique comment ces scripts fonctionnent mais je n'ai toujours aucune idée de comment créer une nouvelle instance.
Dan

Réponses:

19
  • Créez un nouveau fichier de configuration /etc/redis/redis-new.conf(copié depuis redis.conf) et modifiez ces champs dans la nouvelle configuration
    • pidfile
    • Port
    • fichier journal
    • dir (pour la base de données par défaut)
  • Créez un nouveau fichier /etc/init.d/redis-server-new(copié à partir du fichier redis-server) et modifiez ces champs dans le nouveau fichier
    • Nom
    • pidfile (identique au fichier de configuration à l'étape 1)
    • deamon_args (le chemin vers le fichier de configuration à l'étape 1).
  • Créez le répertoire nécessaire mkdir /var/lib/redis-new (et donnez-lui les droits appropriés chown redis:redis /var/lib/redis-new)
  • Rendez le nouveau fichier exécutable: chmod +x /etc/init.d/redis-server-new
  • Enregistrez le nouveau démon: update-rc.d redis-server-new defaults
Dan
la source
Je reçois cette erreur: # update-rc.d redis-server-dev par défaut insserv: script redis-server-dev: service redis-server déjà fourni! insserv: quitter maintenant!
Bobby S
5

Ajoutant à la réponse de Dan ,

Selon cette erreur dans le fichier journal, nous devons créer un répertoire supplémentaire

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

donc

mkdir /var/lib/redis-new

Sinon /etc/init.d/redis-server-new, ne démarre pas.

N'oubliez pas d'ajouter les droits appropriés en

chown redis:redis /var/lib/redis-new
Hypo
la source
0

Il existe également une autre manière, nous pouvons utiliser le script d'installation qui se trouve à https://github.com/antirez/redis/blob/3.0/utils/install_server.sh (fourni avec la source si vous avez compilé des redis à partir de la source), il y a 2 fichiers modèles:

  1. redis_init_script.tpl (se trouve dans le répertoire utils)
  2. redis.conf(est dans le ../répertoire des utils de la source

Vous devez indiquer uniquement le port sur lequel la nouvelle instance doit être exécutée (il existe d'autres choix configurables, mais des valeurs par défaut peuvent être utilisées), le reste du placement des fichiers se fera automatiquement.

Mohit
la source