Introduzione
Memcached è un archivio dati di valori-chiave in-memory ad alte prestazioni gratuito e open source. 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 8.
Prerequisiti
Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Se desideri installare Memcached su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Installare Memcached
I pacchetti memcached sono inclusi nei repository CentOS 8 predefiniti. L'installazione è piuttosto semplice, basta digitare il seguente comando:
sudo yum install memcached libmemcached
Il pacchetto libmemcached
contiene diversi strumenti da riga di comando per la gestione del server Memcached.
Una volta completata l'installazione, avviare e abilitare il servizio Memcached
sudo systemctl start memcached
sudo systemctl enable memcached
Ecco fatto, a questo punto hai Memcached installato e in esecuzione sul tuo server CentOS 8.
Configurare Memcached
Memcached può essere configurato modificando il file /etc/sysconfig/memcached
. 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 Memcached configurato in modo errato 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 fare ciò, apri il filememcache
di configurazione con il tuo editor di testo:
sudo vi /etc/sysconfig/memcached
Nel parametro OPTIONS
aggiungi -l 127.0.0.1
. Questo indica a Memcached di legarsi solo all'interfaccia specificata:
OPTIONS="-l 127.0.0.1"
Riavviare 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.
Nell'esempio seguente si presuppone che si desidera connettersi al server Memcached su una rete privata. L'IP del server Memcached è 192.168.222.222
e l'indirizzo IP del client è 192.168.111.111
CentOS viene fornito con uno strumento di configurazione del firewall FirewallD
. I comandi seguenti creeranno una nuova zona denominata memcached
, apriranno la porta 11211
e consentiranno 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
Una volta configurato il firewall, il passaggio successivo è modificare la configurazione Memcached e impostare il servizio per l'ascolto sull'interfaccia di rete privata del server:
Apri il file memcached
di configurazione:
sudo nano /etc/sysconfig/memcached
Nel OPTIONS
parametro aggiungere l'indirizzo IP del server -l 192.168.222.222
:
OPTIONS="-l 192.168.222.222"
Salvare il file e riavviare il servizio Memcached:
sudo systemctl restart memcached
Connessione a Memcached
Per connettersi al server Memcached è necessario utilizzare uno client language-specific.
PHP
Per utilizzare Memcached come database di memorizzazione nella cache per l'applicazione PHP come WordPress, Drupal o Magento, è necessario installare l'estensione php-pecl-memcached
:
sudo yum install php-pecl-memcache
Python
Esistono diverse librerie Python per l'interazione con memcache. Puoi installare la tua libreria preferita usando pip:
pip install pymemcache
pip install python-memcached
Conclusione
Hai imparato come installare Memcached sul tuo server CentOS 8. Per ulteriori informazioni su questo argomento consultare Memcached Wiki.