Introduzione
Redis è un archivio dati di valori-chiave in memoria (in-memory key-value) 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.
Questa guida illustra l'installazione e la configurazione di Redis su CentOS 8.
Prerequisiti
Prima di iniziare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Se desideri installare Redis su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Installare Redis su CentOS 8
Per installare il pacchetto Redis è necessario abilitare il repository EPEL (Extra Packages for Enterprise Linux) che fornisce pacchetti software aggiuntivi che non sono inclusi nei repository Red Hat e CentOS standard.
L'abilitazione del repository EPEL su CentOS 8 è un'operazione piuttosto semplice poiché il pacchetto rpm EPEL è incluso nel repository extra di CentOS.
Per installare il pacchetto di rilascio EPEL, digitare il comando seguente:
sudo dnf install epel-release
Adesso è possibile installare il pacchetto Redis, digitare il seguente comando:
sudo dnf install redis
Una volta completata l'installazione, abilitare e avviare il servizio Redis:
sudo systemctl enable --now redis
Per verificare se il server Redis è in esecuzione, digitare:
sudo systemctl status redis
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Sat 2020-02-22 14:13:31 CET; 3s ago
Main PID: 1605 (redis-server)
Tasks: 4 (limit: 12251)
Memory: 6.5M
CGroup: /system.slice/redis.service
└─1605 /usr/bin/redis-server 127.0.0.1:6379
Questo è tutto. Redis è installato e in esecuzione sul server CentOS 8.
Configurare Redis Remote Access
Per impostazione predefinita, Redis non consente connessioni remote. È possibile connettersi al server Redis solo da 127.0.0.1 (localhost), la macchina su cui è in esecuzione 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 vi /etc/redis.conf
Individua la riga che inizia con bind 127.0.0.1
e aggiungi successivamente l'indirizzo IP privato del tuo server 127.0.0.1
.
bind 127.0.0.1 192.168.222.222
Assicurati di sostituire 192.168.222.222
con il tuo indirizzo IP. Salvare il file e chiudere l'editor.
Se vuoi che Redis ascolti tutte le interfacce, commenta semplicemente la riga bind.
Riavviare il servizio Redis per rendere effettive le modifiche:
sudo systemctl restart redis
Utilizzare il comando ss
seguente per verificare che il server Redis sia in ascolto sull'interfaccia privata sulla porta 6379
:
ss -an | grep 6379
Dovresti vedere qualcosa come di seguito:
tcp LISTEN 0 128 192.168.222.222:6379 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Configurare il firewall
Successivamente, se hai il firewall abilitato, dovrai configurarlo per abilitare il traffico dalla porta TCP 6379
.
In genere, si desidera consentire l'accesso al server Redis solo da un indirizzo IP o intervallo IP specifico. Ad esempio, per consentire solo connessioni da 192.168.222.0/24
, eseguire i comandi seguenti:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.222.0/24 --permanent
sudo firewall-cmd --reload
I comandi precedenti creano una nuova zona denominata redis
, aprono la porta 6379
e consentono l'accesso dalla rete privata.
A questo punto, il server Redis accetterà connessioni remote sulla porta TCP 6379.
Assicurarsi che il firewall sia configurato per accettare connessioni solo da intervalli IP attendibili.
Per verificare che tutto sia impostato correttamente, puoi provare a eseguire il ping del server Redis dal tuo computer remoto utilizzando l'utilità redis-cli
che fornisce un'interfaccia della riga di comando a un server Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
Il comando dovrebbe restituire una risposta di PONG
:
PONG
Conclusione
Ti abbiamo mostrato come installare Redis su CentOS 8. Per ulteriori informazioni su come utilizzare Redis, visita la pagina della documentazione ufficiale.