Memcached è un datastore di valori-chiave in memoria gratuito e open source ad alte prestazioni. È più comunemente usato per velocizzare le applicazioni memorizzando nella cache vari oggetti dai risultati delle chiamate al database.
In questo tutorial, tratteremo il processo di installazione e configurazione dell'ultima versione di Memcached su Ubuntu 18.04. Le stesse istruzioni si applicano a Ubuntu 16.04 ea qualsiasi distribuzione basata su Ubuntu.
Prerequisiti #
Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Installazione di Memcached #
I pacchetti Memcached sono inclusi nei repository Ubuntu 18.04 predefiniti. L'installazione è piuttosto semplice, basta seguire i passaggi seguenti:
-
Inizia aggiornando l'elenco dei pacchetti apt:
sudo apt update
-
Installa Memcached digitando:
sudo apt install memcached libmemcached-tools
Gli
libmemcached-tools
Il pacchetto fornisce diversi strumenti a riga di comando per la gestione del server Memcached. -
Una volta completata l'installazione, il servizio Memcached si avvierà automaticamente. Per verificare lo stato del servizio, inserisci il seguente comando:
sudo systemctl status memcached
L'output sarà simile a questo:
● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-04-30 15:13:41 PDT; 37s ago Docs: man:memcached(1) Main PID: 10753 (memcached) Tasks: 10 (limit: 2319) CGroup: /system.slice/memcached.service `-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
Ecco fatto, a questo punto hai Memcached installato e in esecuzione sul tuo server Ubuntu 18.04.
Configurazione di Memcached #
Memcached può essere configurato modificando il /etc/memcached.conf
file. Le impostazioni di configurazione predefinite sono sufficienti per la maggior parte degli utenti.
Per impostazione predefinita, Memcached è configurato per l'ascolto solo su localhost. Se anche il client che si connette al server è in esecuzione sullo stesso host non è necessario modificare il file di configurazione predefinito.
Accesso remoto #
Se configurato in modo errato, Memcached può essere utilizzato per eseguire un attacco DDoS (Distributed Denial-of-Service). Se vuoi consentire l'accesso remoto al tuo server Memcached, devi configurare il tuo firewall e consentire l'accesso alla porta Memcached UDP 11211 solo da client attendibili.
L'esempio seguente presuppone che tu voglia connetterti al tuo server Memcached su una rete privata. L'IP del server è 192.168.100.20
e l'indirizzo IP del cliente è 192.168.100.30
Ubuntu viene fornito con uno strumento di configurazione del firewall chiamato UFW. Per impostazione predefinita, UFWi è installato ma non abilitato. Prima di abilitare il firewall UFW, aggiungi una regola che consentirà le connessioni SSH in entrata:
sudo ufw allow 22
Consenti valutazione dall'indirizzo IP del client remoto:
sudo ufw allow from 192.168.100.30 to any port 11211
Abilita UFW con digitando:
sudo ufw status
Una volta configurato il firewall, il passaggio successivo consiste nel modificare la configurazione di Memcached e impostare il servizio Memcached in ascolto sull'interfaccia di rete privata del server:
Per farlo, apri memcached.conf
file di configurazione:
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.100.20
.
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.100.20
Riavvia il servizio Memcached per rendere effettive le modifiche:
sudo systemctl restart memcached
Ora puoi connetterti al server Memcached dalla tua posizione remota.
Connessione a Memcached #
Per connetterti al server Memcached devi utilizzare un client specifico per la lingua.
PHP #
Per utilizzare Memcached come database di memorizzazione nella cache per la tua applicazione PHP come WordPress, Drupal, Joomla o Magento, devi installare il php-memcached
estensione:
sudo apt install php-memcached
Pitone #
Esistono diverse librerie Python per interagire con memcache. Puoi installare la tua libreria preferita usando pip:
pip install pymemcache
pip install python-memcached