Redis è un archivio di strutture dati in memoria open source (con licenza BSD). Può essere utilizzato come database , cache e broker di messaggi. Supporta diversi tipi di strutture dati astratte come stringhe, hash, elenchi, set, set ordinati, hyperlog, bitmap, flussi e indici spaziali.
Questo post ti spiega come installare Redis su CentOS 7 / RHEL 7 &Ubuntu 18.04 / Ubuntu 16.04 . Inoltre, ti aiuta a configurare la replica master/slave su Redis.
Installa Redis su CentOS 7/RHEL 7 e Ubuntu 18.04/Ubuntu 16.04
Pacchetto Redis disponibile nel repository EPEL per CentOS / RHEL e il repository OS su Ubuntu è un po' vecchio. Quindi, installeremo l'ultima versione di Redis (v5.0.2) dal repository Remi e chris lea PPA rispettivamente su CentOS / RHEL e Ubuntu.
Imposta repository
Inizia ad aggiungere repository in base ai sistemi operativi che stai utilizzando.
### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # for RHEL only subscription-manager repos --enable=rhel-7-server-optional-rpms ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo add-apt-repository ppa:chris-lea/redis-server sudo apt update
Installa Redis
Installa il pacchetto Redis digitando il seguente comando nel terminale.
### CentOS 7 / RHEL 7 ### yum install -y redis --enablerepo=remi ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo apt install -y redis-server
Ora avvia il server Redis e abilitalo per l'avvio automatico all'avvio del sistema.
### CentOS 7 / RHEL 7 ### systemctl start redis systemctl enable redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl start redis-server sudo systemctl enable redis-server
Immettere il comando seguente per verificare lo stato del servizio Redis.
### CentOS 7 / RHEL 7 ### systemctl status redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl status redis-server
Dovresti vedere qualcosa come sotto.
● 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 Wed 2018-11-28 06:57:30 UTC; 14s ago Main PID: 1898 (redis-server) CGroup: /system.slice/redis.service └─1898 /usr/bin/redis-server 127.0.0.1:6379 Nov 28 06:57:30 redisc7 systemd[1]: Starting Redis persistent key-value database... Nov 28 06:57:30 redisc7 systemd[1]: Started Redis persistent key-value database.
Verifica installazione Redis
Verifica che Redis sia in esecuzione con redis-cli
(interfaccia a riga di comando di Redis).
redis-cli ping
Se Redis è in esecuzione, restituirà un PONG.
PONG
Ora hai Redis in esecuzione sul tuo server.
Configura Redis Remote Access (opzionale)
Per impostazione predefinita, Redis non consente connessioni remote. Puoi connetterti a Redis solo da 127.0.0.1 (localhost), la macchina su cui è in esecuzione Redis.
Esegui i passaggi seguenti solo se desideri connetterti al tuo server Redis da host remoti.
Modifica il file di configurazione di Redis.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Trova la riga che inizia con bind 127.0.0.1
e aggiungi l'indirizzo IP del tuo server dopo 127.0.0.1. Quindi salva e chiudi il file.
bind 127.0.0.1 192.168.1.10
Assicurati di sostituire 192.168.1.10 con il tuo indirizzo IP.
Riavvia il server Redis per rendere effettive le modifiche.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Usa il seguente netstat
comando per verificare che il server Redis sia in ascolto sull'interfaccia del server sulla porta 6379.
netstat -antup | grep -i 6379
Dovresti vedere qualcosa come sotto.
tcp 0 0 10.142.0.10:6379 0.0.0.0:* LISTEN 2081/redis-server 1
LEGGI :comando netstat non trovato su CentOS 7 / RHEL 7 – Correzione rapida
LEGGI :comando netstat non trovato su Debian/Ubuntu/Linux Mint – Correzione rapida
Firewall (CentOS/RHEL)
Dovrai aggiungere una regola firewall che consenta il traffico da macchine remote al server Redis sulla porta TCP 6379 nel caso tu abbia abilitato l'accesso remoto.
Esegui i seguenti comandi nel terminale
firewall-cmd --permanent --add-port=6379/tcp firewall-cmd --reload
Verifica accesso remoto
Per verificare che l'accesso remoto sia impostato correttamente, puoi provare a eseguire il ping del server Redis dal tuo computer remoto utilizzando redis-cli
(interfaccia della riga di comando).
redis-cli -h <REDIS_IP_ADDRESS> ping
Il comando dovrebbe restituire un PONG.
PONG
Imposta la replica Redis Master/Slave
Sul nodo principale
Passaggio 1: Installa Redis
Passaggio 2:configura l'accesso remoto
Su nodo slave
Passaggio 1: Installa Redis
Configura slave
Configura un'istanza slave aggiungendo la replicaof
direttiva in redis.conf
per impostare la replica.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Sostituisci nuovamente 192.168.1.10 con l'indirizzo IP del nodo master.
replicaof 192.168.1.10 6379
Riavvia il servizio.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Verifica replica master/slave Reds
Verifica che la replica funzioni. Sul tuo nodo master, esegui redis-cli ed esegui il comando set 'name' Raj
.
redis-cli 127.0.0.1:6379> set 'name' Raj
Risultato:
OK
Esci dal prompt di redis-cli digitando exit o premendo Ctrl-C.
Quindi, esegui redis-cli sul nodo slave ed esegui get 'name'
, che dovrebbe restituire lo stesso valore di quello del master.
redis-cli 127.0.0.1:6379> get 'name'
Risultato:
"Raj"
Questo output conferma che la configurazione della replica master/slave funziona correttamente.
Per ulteriori informazioni su come utilizzare Redis, visita la documentazione ufficiale di Redis pagina.
Questo è tutto.