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.