Redis è un archivio di strutture dati valore-chiave in memoria open source (con licenza BSD) usato come database, cache e broker di messaggi. Redis supporta strutture di dati come stringhe, hash, elenchi, set, set ordinati con query di intervallo, bitmap, log di hyperlog, indici geospaziali e flussi. Redis fornisce anche alta disponibilità con la logica del software Redis Sentinel, creando il partizionamento automatico tra i nodi Redis con Redis Cluster.
Alla fine della guida, saprai come installare e configurare Redis sul tuo AlmaLinux sistema operativo.
Prerequisiti
- Sistema operativo consigliato: AlmaLinux 8.
- Account utente: Un account utente con privilegi sudo o accesso root (comando su) .
Aggiornamento del sistema operativo
Aggiorna il tuo AlmaLinux sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:
sudo dnf upgrade --refresh -y
Il tutorial utilizzerà il comando sudo e supponendo che tu abbia lo stato sudo . Per verificare lo stato di sudo sul tuo account:
sudo whoami
Esempio di output che mostra lo stato di sudo:
[joshua@localhost ~]$ sudo whoami
root
Se non hai impostato un account utente sudo e lo desideri, visita il nostro tutorial su Come aggiungere un utente ai sudoer su AlmaLinux .
Per utilizzare l'account root , usa il comando seguente con la password di root per accedere.
su
Installa Redis
Per impostazione predefinita, Redis è disponibile nel flusso dell'app predefinito di AlmaLinux. Tuttavia, hai la possibilità di installare Redis serie 5 o 6. Per impostazione predefinita, con la maggior parte delle distribuzioni Linux, inclusa AlmaLinux serie 5 è selezionata.
Per visualizzare i moduli disponibili da cui installare Redis, usa il seguente comando nel tuo terminale.
sudo dnf module list redis
Esempio di output:
Come puoi vedere con l'output, la serie 5 è l'impostazione predefinita con il flag [d] nella colonna Stream . Forse vuoi installare la versione più recente di Redis. Per fare ciò, usa il seguente comando per scambiare le versioni.
sudo dnf module enable redis:6
Esempio di output:
Digita "Y" , quindi premere il "INVIO TASTO" per procedere con l'installazione
Esegui nuovamente il comando dnf module list redis per vedere la nuova impostazione predefinita, quindi installa Redis con il seguente tutorial.
Se hai dei ripensamenti o richiedi Redis serie 5, dovrai disinstallare la build Redis serie 6 esistente e ripristinare l'elenco dei moduli ai valori predefiniti con il comando seguente.
sudo dnf module reset redis -y
Esempio di output in caso di successo:
Complete!
Nel tuo terminale, esegui il seguente comando.
sudo dnf install redis
Esempio di output:
Digita "Y", quindi premere "INVIO CHIAVE" per procedere con l'installazione.
Verifica che Redis sia stato installato correttamente verificandone la versione e il comando build:
redis-cli --version
Esempio di output:
redis-cli 6.0.9
Per impostazione predefinita, Redis non è abilitato all'avvio o attivato dopo l'installazione.
Per avviare il servizio Redis:
sudo systemctl start redis
Per abilitare l'avvio automatico del servizio Redis all'avvio del sistema:
sudo systemctl enable redis
Successivamente, verifica lo stato e assicurati che Redis sia in esecuzione e, soprattutto, senza errori:
systemctl status redis
Esempio di output:
Nota, Reddis ascolta attivamente localhost sulla porta 6379 predefinita . Per confermare questo tipo, quanto segue:
ps -ef | grep redis
Esempio di output:
joshua 8492 5522 0 00:44 pts/0 00:00:00 grep --color=auto redis
Ora, mentre stai verificando che tutto funzioni e sia operativo, è una buona idea connetterti al tuo servizio Redis ed eseguire un test ping.
Per eseguire il test, inserisci il seguente comando:
redis-cli
Una volta connesso, il tuo terminale visualizzerà (127.0.0.1:6379 ). Ora esegui il ping del servizio Redis come segue:
ping
Esempio di output:
127.0.0.1:6379> ping
PONG
Digita quanto segue per uscire dall'istanza Redis:
exit
Congratulazioni, hai installato Redis sul tuo sistema operativo AlmaLinux e ne hai verificato il funzionamento. Successivamente, puoi configurare Redis.
Come configurare Redis
Redis può essere configurato in diversi modi. L'azione più notevole del motivo per cui le persone usano Redis è per scopi di memorizzazione nella cache. Per fare ciò, devi aprire il “/etc/redis/redis.conf ” file utilizzando l'editor nano.
sudo nano /etc/redis.conf
Configura memoria massima
Ora, aggiungi quanto segue alla fine del file. Tieni presente che puoi modificare il valore della memoria impostandolo a tuo piacimento o, soprattutto, in modo ottimale per la tua applicazione web e l'hardware del server.
maxmemory 500mb
maxmemory-policy allkeys-lru
Come puoi vedere, l'impostazione nella guida ha 500 MB dedicati a Redis in quanto è su un host dedicato con molta RAM di riserva. Una volta esauriti i 500 MB, Redis rimuove qualsiasi chiave secondo l'algoritmo LRU.
Configura l'accesso alla rete
Un'altra opzione è ascoltare tutti i servizi o impostare un indirizzo IP/sottorete se ti piace il tuo servizio Redis.
Per prima cosa, trova la riga 69 nel file di configurazione.
Innanzitutto, per ascoltare tutte le interfacce di rete, commenta "#" la linea si lega a IP:
Esempio:
# bind 127.0.0.1 ::1
Metodo alternativo:
bind 0.0.0.0/0
Nota, assicurati che la tua rete interna sia affidabile e che siano in atto controlli di sicurezza appropriati.
Per associare un indirizzo IP, assicurati che sia un indirizzo IP statico.
Esempio:
bind 192.150.5.2
Per associare una sottorete di rete.
Esempio:
bind 192.150.5.0/24
Nota, si consiglia vivamente di impostare una password quando si utilizza la sottorete o l'accesso a tutte le interfacce da ascoltare.
Configura password
Un'altra funzionalità di sicurezza e per rafforzare ulteriormente Redis è impostare una password sull'istanza Redis.
Vai alla riga 507 e decommenta "# requiredpass" linea e impostare una password.
Esempio:
requiredpass APASSWORD
Assicurati che questa password sia robusta, numeri, lettere, simboli speciali e maiuscole randomizzati poiché i server Redis possono essere forzati molto bene su una scatola decente.
Quindi, quando si richiama Redis-CLI, utilizzare il comando seguente con la password impostata per l'utente.
Esempio:
auth THEPASSWORDSET
"SET DI PAROLE DI PASSAGGIO" è la password che è stata creata.
Quando un utente non riesce ad accedere, vedrà il seguente messaggio di errore.
(error) NOAUTH Authentication required.
Quando un utente accede correttamente, vedrà il seguente messaggio.
OK
Al termine, salva le modifiche CTRL+O quindi esci da CTRL+X . Ora riavvia il servizio Redis digitando:
sudo systemctl restart redis
Configura Firewalld per Redis
Per impostazione predefinita, non sono impostate regole per Redis. Ciò significa che dovrai creare regole di autorizzazione che sono essenziali per fermare gli attacchi a Redis, la mancata protezione di Redis porterà a problemi lungo la strada, quindi non saltare questo a meno che tu non abbia altri mezzi per proteggere la tua installazione di Redis.
Innanzitutto, aggiungi una nuova zona dedicata per il criterio firewalld Redis:
sudo firewall-cmd --permanent --new-zone=redis
Quindi, specifica gli indirizzi IP consentiti a cui è consentito accedere a Redis.
sudo firewall-cmd --permanent --zone=redis --add-source=1.2.3.4
Sostituisci 1.2.3.4 con l'IP indirizzo che verrà aggiunto all'elenco di autorizzazioni.
Una volta terminata l'aggiunta degli indirizzi IP, aprire la porta del Redis. Per impostazione predefinita, questa è la porta TCP 6379 .
sudo firewall-cmd --permanent --zone=redis --add-port=6379/tcp
Nota, puoi modificare la porta predefinita nel file di configurazione se modifichi la regola di apertura della porta del firewall sopra al nuovo valore.
Dopo aver eseguito questi comandi, ricarica il firewall per implementare le nuove regole:
sudo firewall-cmd --reload
Esempio di output in caso di successo:
success
Ora, poiché hai testato all'inizio della guida eseguendo il ping del tuo servizio Redis per assicurarti che fosse operativo, puoi provare le regole del firewall e le modifiche nell'IP utilizzando “redis-cli” comando:
redis-cli -h <ip address> ping
Se impostato correttamente, l'output dovrebbe essere:
pong
Come rimuovere (disinstallare) Redis
Per rimuovere Redis, usa il seguente comando nel tuo terminale.
sudo dnf autoremove redis -y
Questo rimuoverà immediatamente Redis dal tuo sistema.