linuxdatabaseredis

Redis installazione su Linux da sorgenti

5 min di lettura
Redis installazione su Linux da sorgenti

In questa guida vedremo come installare Redis 7.0.2 su Linux partendo dai sorgenti. Questa procedura è ideale quando si desidera avere il controllo completo sulla versione installata e sulle opzioni di compilazione.


1. Preparazione e Compilazione

Iniziamo aggiornando il sistema e installando le dipendenze necessarie per la compilazione.

# Aggiornamento e installazione dipendenze
aptitude update && apt install lsb-release curl gpg tcl

# Download e estrazione sorgenti
cd /tmp
wget https://download.redis.io/redis-stable.tar.gz
tar zxvf redis-stable.tar.gz
cd redis-stable/

# Compilazione e installazione
make && make test && make install

2. Ottimizzazione del Kernel

Per garantire prestazioni ottimali, è necessario abilitare l’overcommit della memoria a livello di kernel.

# Modifica sysctl.conf
mc -e /etc/sysctl.conf

# Aggiungi la seguente riga alla fine del file:
vm.overcommit_memory = 1

3. Configurazione Utenti e Directory

Creiamo l’utente dedicato e le directory di lavoro con i permessi corretti.

# Aggiunta utente e gruppo di sistema
adduser --system --group --no-create-home redis

# Creazione directory dati e log
mkdir -p /var/lib/redis
chown redis:redis /var/lib/redis
chmod 770 /var/lib/redis

mkdir -p /etc/redis
mkdir -p /var/log/redis


# Inizializzazione file di log
touch /var/log/redis/redis-server.log
chown redis /var/log/redis/redis-server.log

# Copia file di configurazione base
cp -frp /tmp/redis-stable/redis.conf /etc/redis/

4. Configurazione di Redis (redis.conf)

Modifichiamo il file /etc/redis/redis.conf per adattarlo al nostro ambiente.

# Impostazioni di rete e sicurezza
bind 127.0.0.1 <ip_del_server>
tcp-backlog 128

# Gestione processo
daemonize no
supervised auto
pidfile /tmp/redis_6379.pid
logfile /var/log/redis/redis-server.log
dir /var/lib/redis

# Persistence (Salvataggio dati)
# Nota: puoi disabilitare il salvataggio commentando tutte le righe "save"
save ""
save 3600 1 300 100 60 10000

# Password di accesso
requirepass la_mia_password

5. Configurazione Default

# Configurazione limiti (ULIMIT)
mc -e /etc/default/redis-server

# Aggiungi o modifica:
ULIMIT=65536


---

## 6. Gestione con Systemd

Creiamo il file di servizio per gestire Redis tramite `systemctl`.

```bash
mc -e /etc/systemd/system/redis.service

Inserisci il seguente contenuto:

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

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

[Install]
WantedBy=multi-user.target

Attiviamo il servizio:

systemctl start redis.service
systemctl status redis.service
systemctl enable redis.service

7. Logrotate e Manutenzione

# Configurazione Logrotate
mc -e /etc/logrotate.d/redis-server

# Contenuto del file:
/var/log/redis/redis-server*.log {
    weekly
    missingok
    rotate 12
    compress
    notifempty
}

Comandi Utili CLI

Per accedere alla console di Redis e gestire il database:

# Accesso autenticato
redis-cli -a la_mia_password

# Pulizia completa del database
redis-cli flushdb -a la_mia_password