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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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.