Introduzione

Memcached è un archivio dati di key-value in-memory ad alte prestazioni gratuito e open source. Viene generalmente utilizzato per velocizzare le applicazioni memorizzando nella cache vari oggetti dai risultati delle chiamate API e database.

Questo articolo mostra come installare e configurare Memcached su Ubuntu 20.04 LTS Focal Fossa.

Se desideri installare Memcached 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 Memcached

Il pacchetto memcached è incluso nei repository Ubuntu 20.04 predefiniti. Per installarlo, immettere il seguente comando come root o utente con privilegi sudo:

sudo apt update
sudo apt install memcached libmemcached-tools

Il pacchetto libmemcached-tools fornisce utilità da riga di comando che è possibile utilizzare per gestire il server memcached.

Una volta completata l'installazione, il servizio memcached verrà avviato automaticamente. Per verificare lo stato del servizio, inserire:

sudo systemctl status memcached

L'output sarà simile al seguente:

● memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-07-14 13:38:54 CEST; 1min 1s ago
       Docs: man:memcached(1)
   Main PID: 1605 (memcached)
      Tasks: 10 (limit: 2286)
     Memory: 1.2M
     CGroup: /system.slice/memcached.service
             └─1605 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Jul 14 13:38:54 TEST-SERVER-1 systemd[1]: Started memcached daemon.

Ecco fatto, hai installato memcached sul tuo server Ubuntu 20.04 LTS Focal Fossa e puoi iniziare a usarlo.

Configurare Memcached

Le opzioni memorizzate possono essere configurate nel file /etc/memcached.conf. Per impostazione predefinita, memcached è impostato per l'ascolto solo su localhost.

Le impostazioni di configurazione predefinite sono sufficienti per la maggior parte degli utenti.

Accesso remoto

Se il client che si collega a memcached è in esecuzione sullo stesso host, non si dovrebbe consentire l'accesso remoto.

Se configurato in modo errato, memcached può essere utilizzato per eseguire un attacco DDoS (Distributed Denial of Service). Per consentire l'accesso remoto al server memcached, è necessario configurare il firewall e aprire la porta UDP memcached 11211 solo da client attendibili.

Nell'esempio seguente si presuppone che si desidera connettersi al server memcached su una rete privata. L'IP del server memcached è 192.168.111.222 e l'indirizzo IP del client è 192.168.333.444.

Il primo passo è modificare la configurazione memcached e impostare il servizio per l'ascolto sull'interfaccia di rete privata del server:

Per fare ciò, apri il file di configurazione memcached.conf:

sudo nano /etc/memcached.conf

Individua la riga che inizia con -l 127.0.0.1 e sostituisci 127.0.0.1 con l'indirizzo IP del server 192.168.111.222.

-l 192.168.111.222
/etc/memcached.conf

Riavviare il servizio Memcached per rendere effettive le modifiche:

sudo systemctl restart memcached

Una volta configurato il servizio, il passaggio successivo è aprire la porta memcached nel firewall.

sudo ufw allow from 192.168.333.444 to any port 11211

Connessione a Memcached

Esistono molte implementazioni di client memcached scritti per diversi linguaggi di programmazione.

PHP

Per utilizzare Memcached come database di memorizzazione nella cache per l' applicazione PHP come WordPress, Drupal, Joomla o Magento, è necessario installare l'estensione php-memcached:

sudo apt install php-memcached

Python

Esistono diverse librerie Python per l'interazione con memcache. Puoi installare la tua libreria preferita usando pip:

pip install pymemcache
pip install python-memcached

Conclusione

Ti abbiamo mostrato come installare Memcached su Ubuntu 20.04 LTS Focal Fossa. Per ulteriori informazioni su questo argomento, consultare Memcached Wiki.