Ricerca nel sito web

Come installare il server Redis nei sistemi basati su CentOS e Debian


Redis è un archivio di strutture dati in memoria flessibile (formato chiave-valore) open source, ad alte prestazioni e flessibile, utilizzato come database, cache e broker di messaggi. È scritto in ANSI C e funziona sulla maggior parte se non su tutti i sistemi operativi simili a Unix, incluso Linux (consigliato per la distribuzione) senza dipendenze esterne.

È ricco di funzionalità, supporta più linguaggi di programmazione e strutture dati tra cui stringhe, hash, elenchi, insiemi, insiemi ordinati con query di intervallo, bitmap tra gli altri.

Funzionalità di Redis:

  • Supporta la maggior parte dei linguaggi di programmazione tra cui C, Bash, Python, PHP, Node.js, Perl, Ruby solo per citarne alcuni.
  • Dispone di replica intrinseca, scripting Lua, eliminazione LRU, transazioni e vari livelli di persistenza su disco.
  • Fornisce disponibilità elevata tramite Redis Sentinel e partizionamento automatico tramite Redis Cluster.
  • Supporta l'esecuzione di operazioni atomiche.
  • Funziona con un set di dati in memoria per ottenere prestazioni notevoli.
  • Supporta la replica asincrona master-slave di facile configurazione.
  • Supporta il failover automatico.
  • Consente di salvare il set di dati su disco raramente per un determinato periodo di tempo oppure accodando ciascun comando a un log.
  • Consente la disabilitazione facoltativa della persistenza.
  • Supporta la messaggistica di pubblicazione/sottoscrizione.
  • Supporta anche transazioni MULTI, EXEC, DISCARD e WATCH e molte altre.

Requisiti:

  1. Un server CentOS 7 e un server RHEL 7 con installazione minima
  2. Un server Ubuntu o un server Debian con installazione minima
  3. Compilatore GCC e libc

In questo tutorial forniremo istruzioni su come installare un server Redis dal sorgente (che è il metodo consigliato) in Linux. Mostreremo anche come configurare, gestire e proteggere Redis. Poiché Redis gestisce tutti i dati dalla memoria, consigliamo vivamente di utilizzare un server VPS con memoria elevata con questa guida.

Passaggio 1: installare il server Redis dall'origine

1. Innanzitutto, installa le dipendenze di build richieste.

--------------- On CentOS / RHEL / Fedora --------------- 
yum groupinstall "Development Tools"
dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
sudo apt install build-essential

2. Successivamente, scarica e compila l'ultima versione stabile di Redis utilizzando l'URL speciale che punta sempre all'ultima versione stabile di Redis utilizzando il comando wget.

wget -c http://download.redis.io/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis-stable
make 
make test
sudo make install

3. Dopo la compilazione di Redis, la directory src all'interno della distribuzione Redis viene popolata con i diversi seguenti eseguibili che fanno parte di Redis:

  • redis-server – server Redis.
  • redis-sentinel: eseguibile redis sentinel (monitoraggio e failover).
  • redis-cli: un'utilità CLI per interagire con redis.
  • redis-benchmark: utilizzato per verificare le prestazioni di Redis.
  • redis-check-aof e redis-check-dump: utili nel raro caso di file di dati danneggiati.

Passaggio 2: configurare il server Redis in Linux

4. Successivamente, è necessario configurare Redis per un ambiente di sviluppo gestito dal sistema init (systemd ai fini di questo tutorial) . Inizia creando le directory necessarie per archiviare i file di configurazione Redis e i tuoi dati:

sudo mkdir /etc/redis
sudo mkdir -p /var/redis/

4. Quindi copia il file di configurazione Redis modello fornito nella directory creata sopra.

sudo cp redis.conf /etc/redis/

5. Ora apri il file di configurazione e aggiorna alcune impostazioni come segue.

sudo vi /etc/redis/redis.conf

6. Quindi cerca le seguenti opzioni, quindi modifica (o utilizza) i loro valori predefiniti in base alle esigenze dell'ambiente locale.

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

Passaggio 3: creare il file dell'unità Redis Systemd

7. Ora devi creare un file unit systemd per redis per controllare il demone, eseguendo il seguente comando.

sudo vi /etc/systemd/system/redis.service

E aggiungi la configurazione di seguito:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

Salva e chiudi il file.

Passaggio 4: gestire e testare il server Redis in Linux

8. Dopo aver eseguito tutte le configurazioni necessarie, ora puoi avviare il server Redis, per ora abilitarlo all'avvio automatico all'avvio del sistema; quindi visualizzarne lo stato come segue.

sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis

9. Successivamente, verifica se l'intera configurazione di Redis funziona correttamente. Per interagire con il server Redis, utilizza il comando redis-cli. Dopo esserti connesso al server, prova a eseguire alcuni comandi.

redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. Quindi chiudi la connessione con il comando exit e riavvia il server Redis. Successivamente, controlla se la mia chiave è ancora memorizzata sul server come mostrato di seguito:

127.0.0.1:6379> exit
sudo systemctl restart redis
redis-cli
127.0.0.1:6379> get mykey

11. Per eliminare una chiave, utilizzare il comando Elimina come segue:

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

Passaggio 5: proteggere il server Redis in Linux

12. Questa sezione è destinata agli utenti che intendono utilizzare un server Redis connesso a una rete esterna come Internet.

Importante: esporre Redis su Internet senza alcuna sicurezza ne rende estremamente facile lo sfruttamento; quindi proteggere il server Redis come segue:

  • bloccare le connessioni alla porta Redis nel sistema protetto da firewall
  • imposta la direttiva bind sull'interfaccia di loopback: 127.0.0.1
  • impostare l'opzione requirepass in modo che ai client venga richiesto di autenticarsi utilizzando il comando AUTH.
  • configurare il tunneling SSL per crittografare il traffico tra server Redis e client Redis.

Per ulteriori informazioni sull'utilizzo, eseguire il comando seguente:

redis-cli -h

Puoi trovare altri comandi del server e scoprire come utilizzare Redis all'interno della tua applicazione dalla home page di Redis: https://redis.io/

In questo tutorial, abbiamo mostrato come installare, configurare, gestire e proteggere Redis in Linux. Per condividere qualsiasi pensiero, utilizzare il modulo di commento qui sotto.