Memcached è un datastore di valori-chiave in memoria gratuito e open source ad alte prestazioni. Viene utilizzato principalmente come sistema di memorizzazione nella cache per velocizzare le applicazioni memorizzando nella cache vari oggetti dai risultati delle chiamate al database.
In questo tutorial spiegheremo come installare e configurare Memcached su CentOS 7.
Prerequisiti #
Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Installazione di Memcached #
I pacchetti memorizzati nella cache sono inclusi nei repository CentOS 7 predefiniti. L'installazione è abbastanza semplice, basta digitare il seguente comando:
sudo yum install memcached libmemcached
Il libmemcached Il pacchetto fornisce diversi strumenti a riga di comando per la gestione del server Memcached.
Una volta completata l'installazione, avvia e abilita il servizio Memcached:
sudo systemctl start memcachedsudo systemctl enable memcached
Ecco fatto, a questo punto hai Memcached installato e in esecuzione sul tuo server CentOS 7.
Configurazione di Memcached #
Memcached può essere configurato modificando il /etc/sysconfig/memcached file. Per impostazione predefinita, Memcached è impostato per l'ascolto su tutte le interfacce. Nelle sezioni seguenti ti mostreremo come configurare il servizio per l'accesso locale e remoto.
Se configurato in modo errato, Memcached può essere utilizzato per eseguire un attacco DDoS (Distributed Denial-of-Service).
Solo accesso locale #
Se anche il client che si connette al server è in esecuzione sullo stesso host, si consiglia di impostare il servizio Memcached in modo che ascolti solo localhost.
Per farlo, apri memcached file di configurazione con il tuo editor di testo:
sudo nano /etc/sysconfig/memcached
Nelle OPTIONS parametro aggiungi -l 127.0.0.1 . Questo indica a Memcached di collegarsi solo all'interfaccia specificata.
OPTIONS="-l 127.0.0.1"
Riavvia il servizio Memcached per rendere effettive le modifiche:
sudo systemctl restart memcached 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.
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 cliente è 192.168.100.30 .
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 --permanentsudo firewall-cmd --zone=memcached --add-port=11211/udp --permanentsudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanentsudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanentsudo firewall-cmd --reload
Una volta configurato il firewall, il passaggio successivo 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 :
OPTIONS="-l 192.168.100.20"
Salva il file e riavvia il servizio Memcached:
sudo systemctl restart memcached 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, Drupalor Magento, devi installare il php-pecl-memcached estensione:
sudo yum install php-pecl-memcache Pitone #
Esistono diverse librerie Python per interagire con memcache. Puoi installare la tua libreria preferita usando pip:
pip install pymemcache pip install python-memcached