Introduzione

Redis è un archivio di strutture di dati 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, ecc. Redis offre elevata disponibilità tramite Redis Sentinel incluso monitoraggio, notifiche Failover automatico. Fornisce inoltre il partizionamento automatico su più nodi Redis con Redis Cluster.

Questo tutorial spiega come installare e configurare Redis su un server CentOS 7.

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 [email protected]_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 [email protected]_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 [email protected]_DEL_SERVER -p PORTA

Installare Redis su CentOS 7

Il pacchetto Redis non è incluso nei repository CentOS predefiniti. Installeremo Redis dal repository Remi.

L'installazione è piuttosto semplice, basta seguire i passaggi seguenti:

Inizia abilitando il repository Remi eseguendo i seguenti comandi nel tuo terminale SSH:

sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi

Installa il pacchetto Redis digitando:

sudo yum install redis

Una volta completata l'installazione, avviare il servizio Redis e abilitarlo ad avviarsi automaticamente all'avvio con:

sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.

Per verificare lo stato del servizio, immettere il comando seguente:

sudo systemctl status redis

Dovresti vedere qualcosa di simile al seguente:

● 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 Tue 2020-01-28 17:31:09 CET; 1 day 17h ago
  Process: 8673 ExecStop=/usr/libexec/redis-shutdown (code=exited, status=0/SUCCESS)
 Main PID: 8687 (redis-server)
    Tasks: 16 (limit: 12251)
   Memory: 318.2M
   CGroup: /system.slice/redis.service
           ├─ 8687 /usr/bin/redis-server 127.0.0.1:6379
           ├─13037 ./kinsing3FrCmny908
           └─13193 /tmp/kdevtmpfsi

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

Congratulazioni, a questo punto hai Redis installato e in esecuzione sul tuo server CentOS 7.

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.

Procedere come segue solo se si desidera connettersi al server Redis da host remoti. Se si utilizza una configurazione a server singolo, in cui l'applicazione e Redis sono in esecuzione sullo stesso computer, 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.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.

# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.

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            *:*
tcp    LISTEN     0      128    127.0.0.1:6379                  *:*

Successivamente, dovrai aggiungere una regola firewall che abilita il traffico dai tuoi computer remoti sulla porta TCP 6379.

Supponendo che si stia utilizzando FirewallD per gestire il firewall e si desidera consentire l'accesso dalla sottorete 192.168.121.0/24, si eseguiranno 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.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'utility 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

Congratulazioni, hai installato Redis con successo sul tuo server CentOS 7. Per ulteriori informazioni su come utilizzare Redis, visitare la pagina della documentazione ufficiale.