Redis Server Installeren op CentOS 8
Redis is een gratis, open-source in-memory key-value store die verschillende soorten gegevensstructuren ondersteunt. Je kunt het gebruiken als database, cache, message broker, en wachtrij. Het wordt gebruikt voor het bouwen van hoog-performante en schaalbare web-applicaties. Het ondersteunt een brede waaier van programmeertalen zoals, Java, PHP, C, Perl, Python, C#, Lua, Go, en nog veel meer. Het is een cross-platform en werkt in de meeste Unix-gebaseerde besturingssystemen, waaronder, Linux, *BSD, en OS X.
In deze handleiding leggen we uit hoe je Redis op CentOS 8 server kunt installeren.
Vereisten
- Een server die CentOS 8 draait.
- Een root wachtwoord is de server geconfigureerd.
Installeer Redis Server
Standaard is het Redis pakket beschikbaar in de CentOS 8 standaard repository. Je kunt het installeren door het volgende commando uit te voeren:
dnf install redis -y
Nadat je Redis server geïnstalleerd hebt, start je de Redis service en schakel je hem in om te starten bij het herstarten van het systeem met het volgende commando:
systemctl start redis
systemctl enable redis
Je kunt ook de status van de Redis server controleren met het volgende commando:
systemctl status redis
Je zou de volgende uitvoer moeten krijgen:
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d ??limit.conf Active: active (running) since Tue 2020-09-15 04:52:54 EDT; 6s ago Main PID: 3076 (redis-server) Tasks: 4 (limit: 12527) Memory: 6.6M CGroup: /system.slice/redis.service ??3076 /usr/bin/redis-server 127.0.0.1:6379 Sep 15 04:52:54 centos8 systemd[1]: Starting Redis persistent key-value database... Sep 15 04:52:54 centos8 systemd[1]: Started Redis persistent key-value database.
Standaard luistert Redis op poort 6379. Je kunt dit controleren met het volgende commando:
ss -ant | grep 6379
Je zou de volgende uitvoer moeten krijgen:
LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Test vervolgens de Redis connectiviteit met het volgende commando:
redis-cli
Je zou de volgende uitvoer moeten zien:
127.0.0.1:6379>
Voer nu het volgende commando uit om de connectiviteit te controleren:
127.0.0.1:6379> ping
Je zou de volgende uitvoer moeten zien:
PONG
Configureer Redis Cache
Vervolgens moet je Redis instellen als caching server. Je kunt dat doen door het Redis configuratiebestand te bewerken:
nano /etc/redis.conf
Voeg de volgende regels toe aan het eind van het bestand:
maxmemory 128mb maxmemory-policy allkeys-lru
Sla het bestand op en sluit het als je klaar bent. Start dan de Redis dienst opnieuw met het volgende commando:
systemctl restart redis
Redis server beveiligen
Standaard kun je met redis-cli elk commando binnen Raedis shell uitvoeren. Het is dus een goed idee om een Redis shell met het wachtwoord te beveiligen. Je kunt wachtwoordauthenticatie inschakelen door het bestand /etc/redis.conf te bewerken:
nano /etc/redis.conf
Zoek de volgende regel:
# requirepass foobared
En vervang het door de volgende regel:
requirepass A	D3Fs4%#df
Sla het bestand op en sluit het als je klaar bent. Herstart dan de Redis service om de configuratiewijzigingen toe te passen:
systemctl restart redis
Maak nu verbinding met de Redis met het volgende commando:
redis-cli
Eenmaal verbonden, voer je het volgende commando uit:
127.0.0.1:6379> INFO server
Je krijgt de volgende foutmelding omdat je niet authentiseert.
NOAUTH Authentication required.
Voer nu het volgende commando uit om te authenticeren met het wachtwoord dat in het Redis configuratiebestand staat:
127.0.0.1:6379> AUTH A	D3Fs4%#df
Je zou de volgende uitvoer moeten zien:
OK
Voer nu het volgende commando uit:
127.0.0.1:6379> INFO server
Je zou de volgende uitvoer moeten krijgen:
# Server redis_version:5.0.3 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:28849dbea6f07cc8 redis_mode:standalone os:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:8.3.1 process_id:3176 run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87 tcp_port:6379 uptime_in_seconds:41 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:6324712 executable:/usr/bin/redis-server config_file:/etc/redis.conf
Als je klaar bent, kun je verder gaan met de volgende stap.
Gevaarlijk commando hernoemen
Het is ook aan te bevelen om enkele gevaarlijke commando’s binnen Redis shell te hernoemen. Een van de gevaarlijke commando’s is “config”. Het wordt gebruikt om het Redis wachtwoord op te vragen.
Laten we eens kijken hoe je het Redis wachtwoord kunt opvragen met het “config” commando.
Maak eerst verbinding met de Redis met het volgende commando:
redis-cli
Eenmaal verbonden, authenticeer je Redis met het volgende commando:
127.0.0.1:6379> AUTH A	D3Fs4%#df
Haal vervolgens het Redis wachtwoord op met het volgende commando:
127.0.0.1:6379> config get requirepass
Je zou het Redis wachtwoord moeten krijgen in de volgende uitvoer:
1) "requirepass" 2) "A	D3Fs4%#df"
Je kunt het “config” commando hernoemen door het bestand /etc/redis.conf te bewerken:
nano /etc/redis.conf
Zoek de volgende regel:
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
En vervang die door de volgende regel:
rename-command CONFIG hitredis
Bewaar en sluit het bestand. Herstart dan de Redis service met het volgende commando:
systemctl restart redis
Maak nu verbinding en authenticeer de Redis met het volgende commando:
redis-cli
127.0.0.1:6379> AUTH A	D3Fs4%#df
Haal nu het Redis wachtwoord op met het “config” commando:
127.0.0.1:6379> config get requirepass
Je zou de volgende foutmelding moeten krijgen:
(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`,
Voer nu het hernoemde commando uit zoals hieronder:
127.0.0.1:6379> hitredis get requirepass
Je zou je Redis wachtwoord moeten krijgen in de volgende uitvoer:
1) "requirepass" 2) "A	D3Fs4%#df"
Conclusie
Gefeliciteerd! Je hebt Redis server met succes geïnstalleerd en beveiligd op CentOS 8. Je kunt nu je applicatie hosten en configureren om Redis cache te gebruiken. Voel je vrij me te vragen als je vragen hebt.