So führen Sie mehrere Redis-Instanzen mit systemd aus

So führen Sie mehrere Redis-Instanzen mit systemd aus

Ich bin vor Kurzem auf Debian 8 „Jessie“ umgestiegen, das jetzt systemd verwendet, und ich finde keine Möglichkeit, mehrere Redis-Instanzen auszuführen.

Ich habe herausgefunden, dass es eine /lib/systemd/system/redis-server.serviceDatei gibt, mit der der Redis-Server beim Neustart gestartet werden kann. Also habe ich einen neuen Dateiaufruf /lib/systemd/system/redis-server-2.servicemit folgendem Inhalt erstellt:

[Unit]
Description=Advanced key-value store
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/redis-server /etc/redis/redis-2.conf
TimeoutStopSec=0
Restart=always
User=redis
Group=redis

[Install]
WantedBy=multi-user.target

Aber wenn ich versuche, den Dienst wie folgt zu starten, service redis-server-2 starterhalte ich diesen Fehler:

Job for redis-server-2.service failed. See 'systemctl status redis-server-2.service' and 'journalctl -xn' for details.

Und systemctl status redis-server-2.servicegib mir:

● redis-server-2.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server-2.service; disabled)
   Active: failed (Result: start-limit) since Sat 2015-10-10 11:09:54 CEST; 33s ago
  Process: 2473 ExecStart=/usr/bin/redis-server /etc/redis/redis-2.conf (code=exited, status=1/FAILURE)
 Main PID: 2371 (code=exited, status=1/FAILURE)

Oct 10 11:09:54 server101 systemd[1]: redis-server-2.service: control process exited, code=exited status=1
Oct 10 11:09:54 server101 systemd[1]: Failed to start Advanced key-value store.
Oct 10 11:09:54 server101 systemd[1]: Unit redis-server-2.service entered failed state.
Oct 10 11:09:54 server101 systemd[1]: redis-server-2.service start request repeated too quickly, refusing to start.
Oct 10 11:09:54 server101 systemd[1]: Failed to start Advanced key-value store.
Oct 10 11:09:54 server101 systemd[1]: Unit redis-server-2.service entered failed state.

was mir nicht wirklich hilft.

Aber wenn ich /usr/bin/redis-server /etc/redis/redis-2.confmeine Redis-Instanz ausführe, startet sie korrekt.

Irgendeine Idee, warum systemd diese Instanz nicht selbst starten möchte?

Vielen Dank im Voraus für die Hilfe.

Antwort1

Wie von Michael Hampton vorgeschlagen, habe ich das Syslog überprüft und Folgendes festgestellt:

Oct 10 11:33:46 server101 redis-server[1947]: *** FATAL CONFIG FILE ERROR ***
Oct 10 11:33:46 server101 redis-server[1947]: Reading the configuration file, at line 5
Oct 10 11:33:46 server101 redis-server[1947]: >>> 'logfile /var/log/redis/redis-server-2.log'
Oct 10 11:33:46 server101 redis-server[1947]: Can't open the log file: Permission denied

Um das Problem zu beheben, musste ich einfach Folgendes tun:

chown redis:redis /var/log/redis/redis-server-2.log

verwandte Informationen