Memcached è un datastore di valori-chiave in memoria gratuito e open source ad alte prestazioni. In genere, veniva utilizzato come sistema di memorizzazione nella cache per velocizzare le applicazioni memorizzando nella cache vari oggetti dai risultati delle chiamate al database.
Questo articolo mostra come installare e configurare Memcached su CentOS 8.
Installazione di Memcached su CentOS #
I pacchetti memorizzati nella cache sono inclusi nei repository CentOS 8 predefiniti. L'installazione è abbastanza semplice, inserisci il seguente comando come root o utente con privilegi sudo:
sudo dnf install memcached libmemcached
Il libmemcached
Il pacchetto fornisce diversi strumenti da riga di comando per la gestione del server Memcached.
Una volta completata l'installazione, abilita e avvia il servizio Memcached digitando:
sudo systemctl enable memcached --now
Per verificare che memcached sia in esecuzione, digita:
sudo systemctl status memcached
L'output dovrebbe essere simile a questo:
● memcached.service - memcached daemon
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
...
Ecco fatto, hai installato Memcached sul tuo server CentOS 8 e puoi iniziare a usarlo.
Configurazione di Memcached #
Le opzioni di Memcached possono essere configurate in /etc/sysconfig/memcached
file. Per impostazione predefinita, Memcached è impostato per essere in ascolto solo su localhost.
Se anche il client che si connette al server è in esecuzione sullo stesso host, non apportare modifiche.
Accesso remoto #
Se l'applicazione che si connetterà a Memcached è ospitata su un server remoto, è necessario configurare il firewall e consentire l'accesso alla porta Memcached 11211
solo dall'indirizzo IP del client.
Se configurato in modo errato, Memcached può essere utilizzato per eseguire un attacco DDoS (Distributed Denial-of-Service).
L'esempio seguente presuppone che tu voglia connetterti al server Memcached su una rete privata. L'IP del server Memcached è 192.168.100.20
e l'indirizzo IP del client è 192.168.100.30
.
Il primo passaggio consiste nel modificare la configurazione di Memcached e impostare il servizio in ascolto sull'interfaccia di rete privata del server:
Apri il memcached
file di configurazione:
sudo nano /etc/sysconfig/memcached
Nelle OPTIONS
parametro, aggiungi l'indirizzo IP del server -l 192.168.100.20
. Questo indica a Memcached di collegarsi solo all'interfaccia specificata.
OPTIONS="-l 192.168.100.20"
Salva il file e riavvia il servizio Memcached per rendere effettive le modifiche:
sudo systemctl restart memcached
Una volta configurato il servizio, il passaggio successivo consiste nell'aprire la porta memorizzata nella cache nel firewall.
CentOS viene fornito con uno strumento di configurazione del firewall FirewallD
. I comandi seguenti creeranno una nuova zona denominata memcached
, apri la porta 11211
e consenti l'accesso solo dall'indirizzo IP del client.
sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload
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-pecl-memcached
estensione:
sudo dnf install php-pecl-memcache
Pitone #
Esistono diverse librerie Python per interagire con memcached. Puoi installare la tua libreria preferita usando pip:
pip install pymemcache
pip install python-memcached