Memcached è un datastore di valori-chiave in memoria gratuito e open source ad alte prestazioni. Viene utilizzato principalmente per velocizzare le applicazioni memorizzando nella cache vari oggetti dai risultati delle chiamate al database.
In questo tutorial, ti guideremo attraverso l'installazione e la configurazione di Memcached su Debian 9.
Prerequisiti #
Dovrai essere loggato come utente con accesso sudo per poter installare i pacchetti sul tuo sistema Debian.
Installazione di Memcached #
I pacchetti memorizzati nella cache sono inclusi nei repository Debian 9 predefiniti. L'installazione è molto semplice, basta seguire i passaggi seguenti:
-
Aggiorna l'elenco dei pacchetti:
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 Wed 2019-06-05 21:00:57 GMT; 52s ago Docs: man:memcached(1) Main PID: 1371 (memcached) CGroup: /system.slice/memcached.service └─1371 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
Ecco fatto, hai installato con successo Memcached sul tuo server Debian 9.
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, il servizio Memcached è in 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). Per consentire connessioni remote al server Memcached, è necessario configurare il firewall e consentire l'accesso alla porta Memcached UDP 11211 solo da client attendibili.
Nell'esempio seguente assumiamo che tu voglia connetterti al server Memcached su una rete privata. L'IP del server è 192.168.100.20
e l'indirizzo IP del cliente è 192.168.100.30
Se stai utilizzando UFW, esegui il comando seguente per consentire la valutazione dall'indirizzo IP del client remoto:
sudo ufw allow from 192.168.100.30 to any port 11211
Se stai eseguendo un semplice vecchio iptables, esegui:
iptables -I INPUT -s 192.168.100.30 --dport 2112112 -j ACCEPT
Una volta configurato il firewall, il passaggio successivo consiste nel modificare le impostazioni 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 attive le modifiche:
sudo systemctl restart memcached
Ora puoi connetterti al server Memcached dalla 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 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