Memcached è un servizio di memorizzazione nella cache del valore-chiave in memoria opensource ad alte prestazioni che è utile in vari modi. Innanzitutto, aiuta a velocizzare le applicazioni memorizzando nella cache i dati della sessione, i token di autenticazione dell'utente e le chiamate API. Inoltre, fornisce un meccanismo che aiuta a condividere i dati tra più istanze dell'applicazione.
Quindi, quali sono i vantaggi dell'utilizzo di Memcached? Possiamo riassumere i vantaggi in due:migliorare le prestazioni delle applicazioni e ridurre i costi di esecuzione delle applicazioni poiché è gratuito.
Vediamo ora come installare e configurare Memcached su CentOS 8.
Di cosa hai bisogno
Quando inizi, assicurati di soddisfare i seguenti requisiti:
- Accesso al server CentOS 8
- Un utente standard con sudo o privilegi elevati
Senza troppi indugi, rimbocchiamoci le maniche e diamoci da fare.
Passaggio 1) Installa il server di memorizzazione nella cache Memcached
Per installare il server di memorizzazione nella cache Memcached, aggiornare prima l'elenco dei pacchetti di sistema utilizzando il comando:
$ sudo dnf update -y
Poiché il pacchetto Memcached insieme alle sue dipendenze è presente nei repository AppStream, installeremo Memcached utilizzando il gestore di pacchetti predefinito come mostrato:
$ sudo dnf install -y memcached libmemcached
Infine, otterrai l'output di seguito per indicare che l'installazione è riuscita.
Per essere sicuro che Memcached sia installato su CentOS 8, esegui:
$ rpm -q memcached memcached-1.5.9-2.el8.x86_64 $
Per informazioni più dettagliate su Memcached, utilizzare gli argomenti -qi come mostrato. Questo mostra informazioni più approfondite come la versione Memcached, l'architettura, la data di installazione, la data di build e molto altro.
$ rpm -qi memcached
Passaggio 2) Configura Memcached
Il file di configurazione predefinito di Memcached è /etc/sysconfig/memcached. Per impostazione predefinita, è in ascolto sulla porta 11211 e sul localhost, sistema indicato con 127.0.0.1 come osservato alla riga 5.
[[email protected] ~]$ cat -n /etc/sysconfig/memcached 1 PORT="11211" 2 USER="memcached" 3 MAXCONN="1024" 4 CACHESIZE="64" 5 OPTIONS="-l 127.0.0.1,::1" [[email protected] ~]$
Se l'applicazione che intendi connettere a Memcached si trova sullo stesso server di Memcached, lascia la configurazione predefinita così com'è.
Se hai un'applicazione in esecuzione su un sistema remoto, sulla stessa LAN e desideri che si connetta al server Memcached, regola la riga 5 sostituendo l'indirizzo localhost 127.0.0.1 con l'indirizzo IP del sistema remoto.
Ad esempio, il sistema remoto su cui è ospitata la nostra applicazione ha un IP 192.168.2.100. Pertanto, regola il file di configurazione come mostrato.
[[email protected] ~]$ sudo vi /etc/sysconfig/memcached 1 PORT="11211" 2 USER="memcached" 3 MAXCONN="1024" 4 CACHESIZE="64" 5 OPTIONS="-l 192.168.2.100,::1"
Salva ed esci dal file di configurazione.
Fase 3:Configura il firewall per consentire il traffico verso il server Memcached
Inoltre, dobbiamo consentire il traffico al server Memcached aprendo la porta predefinita (porta 11211) sul firewall.
Pertanto, esegui i comandi seguenti:
$ sudo firewall-cmd --add-port=11211/tcp --zone=public --permanent $ sudo firewall-cmd --reload
Passaggio 3) Avvia e abilita il servizio memorizzato nella cache
Con tutte le configurazioni eseguite, avvia e abilita Memcached come mostrato:
$ sudo systemctl start memcached $ sudo systemctl enable memcached
Per confermare che Memcached sia attivo e funzionante, esegui il comando:
$ sudo systemctl status memcached
Integrazione di Memcached con PHP
Come affermato in precedenza, Memcached può essere utilizzato per velocizzare le applicazioni. Affinché ciò avvenga, è necessario installare un client specifico per la lingua sul server. Ad esempio, se stai eseguendo un'applicazione PHP come WordPress, OwnCloud o Magento, installa l'estensione php-pecl-memcache come mostrato.
Sopra detta estensione o pacchetto non è disponibile nei repository CentOS 8 predefiniti, quindi prima dobbiamo abilitare i repository epel e remi, eseguire i seguenti comandi uno dopo l'altro,
$ sudo dnf install epel-release -y $ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y $ sudo dnf module enable php:remi-7.4 -y $ sudo dnf install -y php-pecl-memcache php-pecl-memcached
Leggi anche :Come installare PHP 7.4 su CentOS 8 / RHEL 8
Ora per testarlo, installiamo un server web e altre dipendenze PHP
$ sudo dnf install -y nginx php php-cli
Ora avvia il servizio del server web (nginx) e crea una pagina PHP di prova per verificare se Memcached è abilitato per PHP o meno
$ sudo systemctl enable nginx.service –now $ sudo systemctl restart memcached.service $ sudo vi /usr/share/nginx/html/info.php
Ora incolla il seguente contenuto nel file e salva le modifiche.
<?php phpinfo(); ?>
Successivamente, vai al tuo browser e sfoglia l'indirizzo qui sotto
http://ip-server/info.php
Scorri verso il basso e fai attenzione alla sezione Memcached che mostra tutte le informazioni su Memcached.
Questa è una conferma che Memcached è installato e funziona bene con PHP e il tuo server web Nginx.
Integra Memcached per applicazioni basate su Python
Per le applicazioni Python, assicurati di installare le librerie pymemcache e python-memcached come mostrato usando pip.
$ pip3 install pymemcache --user $ pip3 install python-memcached --user
Per concludere, Memcached è un modo semplice ed economico per velocizzare le applicazioni memorizzando nella cache i contenuti utilizzati di frequente. È gratuito e opensource e puoi modificarlo in base alle tue preferenze. Puoi visitare il Wiki di Memcached. Per informazioni più dettagliate su Memcached.