Redis: Unterschied zwischen den Versionen
(→Konfiguration: daemonize yes/no, absolute Pfade) |
|||
Zeile 22: | Zeile 22: | ||
Eine Beispiel-Konfiguration ist: | Eine Beispiel-Konfiguration ist: | ||
requirepass | daemonize yes | ||
pidfile /home/pacs/XYZ00/users/NAME/redis/var/redis-server.pid | |||
requirepass 'generiertes-passwort' | |||
bind 127.0.0.1 | bind 127.0.0.1 | ||
port 33033 | port 33033 | ||
Zeile 28: | Zeile 30: | ||
timeout 300 | timeout 300 | ||
loglevel notice | loglevel notice | ||
logfile var/redis.log | logfile /home/pacs/XYZ00/users/NAME/redis/var/redis.log | ||
databases 16 | databases 16 | ||
save 900 1 | save 900 1 | ||
Zeile 36: | Zeile 38: | ||
appendonly no | appendonly no | ||
dbfilename dump.rdb | dbfilename dump.rdb | ||
dir var | dir /home/pacs/XYZ00/users/NAME/redis/var | ||
Der Redis-Dienst ist über die Server-lokale Netzwerk-Adresse 127.0.0.1 erreichbar und mit einem Passwort geschützt. Der Port ''33033'' für die Netzwerk-Schnittstelle muss ggf. angepasst werden. | Der Redis-Dienst ist über die Server-lokale Netzwerk-Adresse 127.0.0.1 erreichbar und mit einem Passwort geschützt. Der Port ''33033'' für die Netzwerk-Schnittstelle muss ggf. angepasst werden. | ||
Zeile 51: | Zeile 53: | ||
unixsocketperm 700 | unixsocketperm 700 | ||
port 0 | port 0 | ||
daemonize no | |||
=== Einrichtung als Server-Dienst === | === Einrichtung als Server-Dienst === |
Version vom 16. Februar 2023, 15:58 Uhr
Redis installieren
Redis ist ein einfacher Datenspeicher für Schlüssel-Wert-Paare. Datensätze werden jeweils unter einem Schlüssel abgelegt. Die Daten werden jeweils im Hauptspeicher gehalten und nur zu konfigurierbaren Zeitpunkten auf die Festplatte gesichert.
Redis-Datenbanken werden häufig zur Speicherung von Warteschlangen benutzt. In Redis werden Aufträge gespeichert, die asynchron von Hintergrundprogrammen abgearbeitet werden.
Konfiguration
Redis ist auf den Hostsharing-Servern vorinstalliert. Für die Nutzung muss lediglich eine Konfigurationsdatei angelegt werden und ein Hitergrundprogramm gestartet werden.
Im folgenden wird für den User xyz00-service ein Redis-Dienst eingerichtet. Der User xyz00-service ist in HSAdmin mit /bin/bash als Shell eingerichtet.
Nach dem Login als xyz00-service lege ich Verzeichnisse ~/redis/etc und ~/redis/var an:
xyz00-service@h00:~$ mkdir redis xyz00-service@h00:~$ mkdir redis/etc xyz00-service@h00:~$ mkdir redis/var
Im etc-Verzeichnis wird die Konfigurationsdatei redis.conf für den Redis-Dienst abgelegt.
Eine Beispiel-Konfiguration ist:
daemonize yes pidfile /home/pacs/XYZ00/users/NAME/redis/var/redis-server.pid requirepass 'generiertes-passwort' bind 127.0.0.1 port 33033 tcp-backlog 128 timeout 300 loglevel notice logfile /home/pacs/XYZ00/users/NAME/redis/var/redis.log databases 16 save 900 1 save 300 10 save 60 10000 slave-serve-stale-data yes appendonly no dbfilename dump.rdb dir /home/pacs/XYZ00/users/NAME/redis/var
Der Redis-Dienst ist über die Server-lokale Netzwerk-Adresse 127.0.0.1 erreichbar und mit einem Passwort geschützt. Der Port 33033 für die Netzwerk-Schnittstelle muss ggf. angepasst werden.
Der Dienst wird gestartet mit:
xyz00-service@h00:~/redis$ /usr/bin/redis-server etc/redis.conf
Mit Ctrl-C kann der Dienst wieder gestoppt werden.
Alternativ kann der zugriff auf Redis über einen Unixsocket erfolgen. Dann entfällt die Zeile 'bind 127.0.0.1' in der Konfiguration, der port wird auf 0 gesetzt. Stattdessen wir ein Unixsocket konfiguriert:
unixsocket var/redis-server.sock unixsocketperm 700 port 0 daemonize no
Einrichtung als Server-Dienst
Redis soll über den Systemdienst SystemD automatisch im Hintergrund gestartet werden.
Dazu wird im Verzeichnis ~/.config/systemd/user eine Datei redis.service mit dem folgenden Inhalt angelegt:
[Unit] Description=Redis Service [Service] WorkingDirectory=%h/redis Environment="PATH=/usr/local/bin:/usr/bin:/bin" ExecStart=/usr/bin/redis-server %h/redis/etc/redis.conf Restart=always PrivateTmp=true NoNewPrivileges=true [Install] WantedBy=default.target
Die Datei wird mit den folgenden Shell-Kommandos geladen und aktiviert:
systemctl --user daemon-reload systemctl --user enable redis.service systemctl --user start redis.service
Mit den Kommandos
systemctl --user status systemctl --user status redis.service
kann der Status des Dienstes ermittelt werden.
Links
* Internetseite des Redis Projekts