Introduzione

Redis è un archivio dati di valori-chiave in memoria open source. Può essere utilizzato come database, cache e broker di messaggi e supporta varie strutture di dati come stringhe, hash, elenchi, set e altro. Redis offre elevata disponibilità tramite Redis Sentinel e il partizionamento automatico su più nodi Redis con Redis Cluster.

In questo tutorial, tratteremo come installare e configurare Redis su un Debian 10, Buster.

Installare Redis su Debian

La versione 5.0.x di Redis è inclusa nei repository Debian 10 predefiniti. Per installarlo esegui i seguenti comandi come utente root o utente con privilegi sudo:

sudo apt update
sudo apt install redis-server

Il servizio Redis si avvierà automaticamente al termine dell'installazione. Puoi verificarlo digitando:

sudo systemctl status redis-server

L'output dovrebbe assomigliare a questo:

● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-11-28 14:15:23 PST; 27s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
 Main PID: 2024 (redis-server)
    Tasks: 4 (limit: 2359)
   Memory: 6.9M
   CGroup: /system.slice/redis-server.service
           └─2024 /usr/bin/redis-server 127.0.0.1:6379

Il servizio Redis non verrà avviato se IPv6 è disabilitato sul server.

Questo è tutto! Redis è installato e in esecuzione sul tuo server Debian 10 e puoi iniziare a usarlo.

Configurare Redis Remote Access

Per impostazione predefinita, Redis è configurato per l'ascolto solo su localhost. È possibile connettersi al server Redis solo dalla macchina su cui è in esecuzione il servizio Redis.

Se si utilizza una configurazione a server singolo, in cui anche il client che si collega al database è in esecuzione sullo stesso host, non è necessario abilitare l'accesso remoto.

Per configurare Redis per accettare connessioni remote, apri il file di configurazione Redis con il tuo editor di testo:

sudo nano /etc/redis/redis.conf

Cerca una riga che inizia con bind 127.0.0.1 ::1 e commentala.

# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# bind 127.0.0.1 ::1

Salvare e chiudere il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.

Riavviare il servizio Redis per rendere effettive le modifiche:

sudo systemctl restart redis-server

Utilizzare ss o netstat per verificare che Redis sia in ascolto su tutte le interfacce sulla porta 6379:

ss -an | grep 6379

Dovresti vedere qualcosa come di seguito:

tcp  LISTEN  0  128  0.0.0.0:6379  0.0.0.0:*                     
tcp  LISTEN  0  128  [::]:6379     [::]:* 

Dovrai anche aggiungere una regola firewall che abiliti il ​​traffico dai tuoi computer remoti sulla porta TCP 6379.

Supponendo che si stia utilizzando UFW per gestire il firewall e che si desidera consentire l'accesso dalla sottorete 192.168.222.0/24, eseguire il comando seguente:

sudo ufw allow proto tcp from 192.168.222.0/24 to any port 6379

Assicurarsi che il firewall sia configurato per accettare connessioni solo da intervalli IP attendibili.

Al termine, utilizzare l'utility redis-cli per testare la connessione eseguendo il ping del server Redis dal computer remoto:

redis-cli -h <REDIS_IP_ADDRESS> ping

Il comando dovrebbe restituire una risposta di PONG:

PONG

Conclusione

Ti abbiamo mostrato come installare Redis su Debian 10. Per maggiori informazioni su come gestire l'installazione di Redis, visita la pagina della documentazione di Redis.