Ricerca nel sito web

Come installare Redis Server su CentOS 8


Questo tutorial esiste per queste versioni del sistema operativo

  • CentOS 8
  • CentOS 7

Su questa pagina

  1. Prerequisiti
  2. Installa il server Redis
  3. Configura cache Redis
  4. Proteggi il server Redis
  5. Rinomina comando pericoloso
  6. Conclusione

Redis è un archivio chiave-valore in memoria open source gratuito che supporta diversi tipi di strutture di dati. Puoi usarlo come database, cache, broker di messaggi e coda. Viene utilizzato per creare applicazioni Web ad alte prestazioni e scalabili. Supporta una vasta gamma di linguaggi di programmazione come Java, PHP, C, Perl, Python, C#, Lua, Go e molti altri. È multipiattaforma e funziona nella maggior parte dei sistemi operativi basati su Unix, inclusi Linux, *BSD e OS X.

In questo tutorial, spiegheremo come installare Redis sul server CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Il server è configurato con una password di root.

Installa il server Redis

Per impostazione predefinita, il pacchetto Redis è disponibile nel repository predefinito di CentOS 8. Puoi installarlo eseguendo il seguente comando:

dnf install redis -y

Dopo aver installato il server Redis, avviare il servizio Redis e abilitarlo per l'avvio al riavvio del sistema con il seguente comando:

systemctl start redis
systemctl enable redis

Puoi anche verificare lo stato del server Redis con il seguente comando:

systemctl status redis

Dovresti ottenere il seguente output:

   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.

Per impostazione predefinita, Redis è in ascolto sulla porta 6379. Puoi verificarlo con il seguente comando:

ss -ant | grep 6379

Dovresti ottenere il seguente output:

LISTEN     0        128             127.0.0.1:6379              0.0.0.0:*       

Successivamente, testa la connettività Redis con il seguente comando:

redis-cli

Dovresti vedere il seguente output:

127.0.0.1:6379>

Ora, esegui il seguente comando per verificare la connettività:

127.0.0.1:6379> ping

Dovresti vedere il seguente output:

PONG

Configura cache Redis

Successivamente, dovrai configurare Redis come server di memorizzazione nella cache. Puoi farlo modificando il file di configurazione di Redis:

nano /etc/redis.conf

Aggiungere le seguenti righe alla fine del file:

maxmemory 128mb
maxmemory-policy allkeys-lru

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Redis con il seguente comando:

systemctl restart redis

Server Redis sicuro

Per impostazione predefinita, redis-cli consente di eseguire qualsiasi comando all'interno della shell Raedis. Quindi è una buona idea proteggere una shell Redis con la password. Puoi abilitare l'autenticazione della password modificando il file /etc/redis.conf:

nano /etc/redis.conf

Trova la seguente riga:

# requirepass foobared

E sostituirlo con la seguente riga:

requirepass A&#9D3Fs4%#df

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Redis per applicare le modifiche alla configurazione:

systemctl restart redis

Ora, connettiti a Redis con il seguente comando:

redis-cli

Una volta connesso, esegui il seguente comando:

127.0.0.1:6379> INFO server

Otterrai il seguente errore perché non ti autentichi.

NOAUTH Authentication required.

Ora, esegui il seguente comando per autenticarti con la password specificata nel file di configurazione di Redis:

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Dovresti vedere il seguente output:

OK

Ora, esegui il seguente comando:

127.0.0.1:6379> INFO server

Dovresti ottenere il seguente output:

# 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

Quando hai finito, puoi procedere al passaggio successivo.

Rinomina comando pericoloso

Si consiglia inoltre di rinominare alcuni comandi pericolosi all'interno della shell Redis. Uno dei comandi pericolosi è \config\. Viene utilizzato per recuperare la password Redis.

Vediamo come recuperare la password Redis con il comando \config\.

Innanzitutto, connettiti a Redis con il seguente comando:

redis-cli

Una volta connesso, autentica Redis con il seguente comando:

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Successivamente, recupera la password Redis utilizzando il seguente comando:

127.0.0.1:6379> config get requirepass

Dovresti ottenere la password Redis nel seguente output:

1) "requirepass"
2) "A&#9D3Fs4%#df"

Puoi rinominare il comando \config\ modificando il file /etc/redis.conf:

nano /etc/redis.conf

Trova la seguente riga:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

E sostituirlo con la seguente riga:

rename-command CONFIG hitredis

Salva e chiudi il file. Quindi, riavvia il servizio Redis con il seguente comando:

systemctl restart redis

Ora, connetti e autentica Redis con il seguente comando:

redis-cli
127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Ora recupera la password Redis con il comando \config\:

127.0.0.1:6379> config get requirepass

Dovresti ottenere il seguente errore:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

Ora, esegui il comando rinominato come mostrato di seguito:

127.0.0.1:6379> hitredis get requirepass

Dovresti ottenere la tua password Redis nel seguente output:

1) "requirepass"
2) "A&#9D3Fs4%#df"

Conclusione

Congratulazioni! hai installato e protetto correttamente il server Redis su CentOS 8. Ora puoi ospitare la tua applicazione configurandola per utilizzare la cache Redis. Non esitate a chiedermi se avete domande.