Come installare Memcached su Ubuntu 20.04 LTS

Ottimizza le prestazioni del tuo database utilizzando il server Memcached con le tue app PHP e Python

Se hai mai sentito il dolore dell'elevato carico del database che causa rallentamenti nelle tue app Web e ti sei chiesto "C'è un modo per ridurre la latenza causata dalle query DB?", Allora la risposta a questa domanda è un grande sì. Memcached un amichevole demone della cache della memoria del quartiere è qui per risolvere tutti i tuoi problemi! La memorizzazione nella cache del DB è uno dei metodi più semplici per alleviare il carico del DB e velocizzare le applicazioni web dinamiche.

Memcached si definisce come un sistema di memorizzazione nella cache di oggetti di memoria distribuita ad alte prestazioni, di natura generica, ma originariamente destinato all'uso per accelerare le applicazioni Web dinamiche alleviando il carico del database. Sviluppato da Brad Fitzpatrick per il suo sito Web LiveJournal nel 2003.

In questo articolo, vedremo come installare e configurare Memcached in Ubuntu 20.04 e esamineremo i suoi client specifici per la lingua.

Prerequisiti

Un sistema installato con Ubuntu 20.04 con un utente con diritti di amministratore, ovvero un sudo utente.

Installazione

Memcached è disponibile sul repository ufficiale di Ubuntu 20.04, oltre a Memcached installeremo anche uno strumento CLI noto come libmemcached-tools per gestire Memcached. Basta eseguire il seguente comando per installarli entrambi

sudo apt install memcached libmemcached-tools

Verifica installazione

Al termine dell'installazione, il demone Memcached si avvia in background da solo. Per verificare l'installazione, possiamo usare un comando da libmemcached-tools pacchetto per ottenere le statistiche del server Memcached. O corri

memcstat --servers localhost

o

memcstat --servers 127.0.0.1

Il memcstat comando mostra le statistiche del server in esecuzione. Il comando precedente risulterà nell'output visualizzato di seguito.

Varie statistiche come uptime in secondi, versione e pid verrà visualizzato come output. Tuttavia, se non viene visualizzato alcun output, è possibile che Memcached non sia in esecuzione. Pertanto, è necessario eseguire il seguente comando per avviare il server Memcached.

sudo systemctl start memcached

Per eseguire il server Memcached all'avvio del sistema, utilizzare il seguente comando.

sudo systemctl abilita memcached

Configurazione di Memcached

Se il tuo memcached è installato sul server del sito Web stesso, non è necessario modificare il file di configurazione poiché memcached è preconfigurato per funzionare con localhost.

D'altra parte, se hai installato Memcached su un sistema separato, dovrai modificare la configurazione per consentire al server remoto l'accesso al server Memcached.

Configurazione dell'accesso remoto per il server Memcached

Memcached è vulnerabile agli attacchi DDoS (Distributed Denial of Service). Una regola firewall errata e porte UDP aperte lasceranno il tuo server aperto e vulnerabile agli attacchi DDoS.

Per mitigare il rischio, possiamo disabilitare il protocollo UDP per Memcached nella configurazione o impostare il firewall solo per consentire server affidabili.

Fuori dalla scatola, Ubuntu viene fornito senza porte TCP o UDP aperte. Inoltre, il demone firewall ufw (firewall semplice) non è abilitato per impostazione predefinita.

Abiliteremo il firewall e imposteremo la configurazione di Memcached in modo da poter mitigare la vulnerabilità DDoS.

Innanzitutto, abilita il ufw eseguendo il seguente comando:

sudo systemctl abilita ufw

Quindi avviare il ufw service eseguendo il comando seguente:

sudo systemctl start ufw

Con il firewall in esecuzione, possiamo finalmente impostare le regole del firewall. Innanzitutto, abilita la porta 22 per consentire le connessioni SSH. SSH è necessario per accedere in remoto al server desiderato.

sudo ufw consenti 22

In secondo luogo, è necessario conoscere l'indirizzo IP del client, ovvero l'host dell'applicazione web e l'indirizzo IP del server, ovvero il server Memcached.

In questo caso, supponiamo che l'IP del cliente sia 192.168.0.4 e IP del server Memcached da essere 192.168.0.5 su una rete locale.

Quindi, per consentire l'accesso remoto del server memcached al server client, eseguire:

sudo ufw consente da 192.168.0.4 a qualsiasi porta 11211

Sostituisci il 192.168.0.4 con l'indirizzo IP client desiderato.

Quindi, modifica il file di configurazione di Memcached che si trova in /etc/memcached.conf correndo nano comando.

sudo nano /etc/memcached.conf

Il memcached.conf il file di configurazione si aprirà con l'editor nano, cerca il -l 127.0.0.1 riga nella configurazione e sostituisci 127.0.0.1 con il tuo IP del server Memcached o in questo caso 192.168.0.5.

Dopo la sostituzione premere ctrl+o per scrivere nel file di configurazione e premere invio, premere ctrl+x per uscire da nano.

Riavvia il server Memcached e ufw firewall eseguendo il comando seguente.

sudo systemctl riavvia memcached ufw

Ora abbiamo finito con l'installazione e la configurazione del server Memcached su Ubuntu 20.04.

Connessione al server Memcached

Per utilizzare il server Memcached, dovrai installare un client specifico per la lingua. Fortunatamente, Memcached supporta molte lingue popolari.

Vediamo quindi come installare php e pitone client per Memcached.

PHP è il linguaggio di scripting lato server più popolare e Memcached è utilizzato principalmente dagli sviluppatori Web per migliorare le prestazioni del server delle app Web basate su PHP.

Per installare il supporto memcached in php, correre:

sudo apt install php-memcached

Anche Python ha diverse librerie che possono funzionare e interagire con il server Memcached come pymemcached o python-memcached.

Puoi installare memcached per python eseguendo i seguenti comandi pip:

pip install pymemcache
pip install python-memcached

In conclusione, abbiamo esaminato l'installazione, la configurazione e alcuni client specifici della lingua di Memcached in Ubuntu 20.04.

Per conoscere un uso più preciso e avanzato di Memcached, dai un'occhiata a Memcached Wiki.