
Redis è un datastore 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 fornisce alta disponibilità tramite Redis Sentinel e partizionamento automatico su più nodi Redis con Redis Cluster.
Questa guida illustra l'installazione e la configurazione di Redis su CentOS 8.
Installazione di Redis su CentOS 8 #
Redis versione 5.0.x è incluso nei repository CentOS 8 predefiniti. Per installarlo esegui i seguenti comandi come root o utente con privilegi sudo:
sudo dnf install redis-server
Una volta completata l'installazione, abilita e avvia il servizio Redis:
sudo systemctl enable --now redis
Per verificare se il server Redis è in esecuzione, digita:
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-08 20:54:46 UTC; 7s ago
Questo è tutto. Hai Redis installato e in esecuzione sul tuo server CentOS 8.
Configura Redis Remote Access #
Per impostazione predefinita, Redis non consente connessioni remote. Puoi connetterti al server Redis solo da 127.0.0.1 (localhost) - la macchina su cui è in esecuzione Redis.
Se stai utilizzando una configurazione a server singolo, in cui anche il client che si connette al database è in esecuzione sullo stesso host, non dovresti abilitare l'accesso remoto.
Per configurare Redis in modo che accetti connessioni remote, apri il file di configurazione Redis con il tuo editor di testo:
sudo nano /etc/redis.conf
Individua la riga che inizia con bind 127.0.0.1
e aggiungi l'indirizzo IP privato del tuo server dopo 127.0.0.1
.
bind 127.0.0.1 192.168.121.233
Assicurati di sostituire 192.168.121.233
con il tuo indirizzo IP. Salva il file e chiudi l'editor.
Riavvia il servizio Redis per rendere effettive le modifiche:
sudo systemctl restart redis
Usa il seguente ss
comando per verificare che il server Redis sia in ascolto sulla tua interfaccia privata sulla porta 6379
:
ss -an | grep 6379
Dovresti vedere qualcosa come di seguito:
tcp LISTEN 0 128 192.168.121.233:6379 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Successivamente, dovrai configurare il firewall per abilitare il traffico sulla porta TCP 6379
.
In genere si desidera consentire l'accesso al server Redis solo da un indirizzo IP o un intervallo IP specifico. Ad esempio, per consentire connessioni solo da 192.168.121.0/24
, esegui i seguenti comandi:
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.121.0/24 --permanent
sudo firewall-cmd --reload
I comandi precedenti creano una nuova zona denominata redis
, apre la porta 6379
e consente l'accesso dalla rete privata.
A questo punto, il server Redis accetterà connessioni remote sulla porta TCP 6379.
Assicurati che il tuo firewall sia configurato per accettare connessioni solo da intervalli IP affidabili.
Per verificare che tutto sia impostato correttamente, puoi provare a eseguire il ping del server Redis dal tuo computer remoto usando il redis-cli
utility che fornisce un'interfaccia a riga di comando a un server Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
Il comando dovrebbe restituire una risposta di PONG
:
PONG