Comment installer Memcached sur Ubuntu 20.04 LTS

Optimisez les performances de votre base de données en utilisant le serveur Memcached avec vos applications PHP et Python

Si vous avez déjà ressenti la douleur d'une charge élevée de la base de données causant des ralentissements dans vos applications Web et que vous vous êtes demandé « Existe-t-il un moyen de réduire la latence causée par les requêtes de base de données ? », alors la réponse à cette question est un grand oui. Memcached, un démon amical de cache de mémoire de quartier, est là pour résoudre tous vos problèmes ! La mise en cache de la base de données est l'une des méthodes les plus simples pour alléger la charge de la base de données et accélérer les applications Web dynamiques.

Memcached se définit comme un système de mise en cache d'objets à mémoire distribuée hautes performances, de nature générique, mais destiné à l'origine à être utilisé pour accélérer les applications Web dynamiques en allégeant la charge de la base de données. Développé par Brad Fitzpatrick pour son site Web LiveJournal en 2003.

Dans cet article, nous verrons comment installer et configurer Memcached dans Ubuntu 20.04 et examinerons ses clients spécifiques à la langue.

Conditions préalables

Un système installé avec Ubuntu 20.04 avec un utilisateur avec des droits d'administration, c'est-à-dire un sudo utilisateur.

Installation

Memcached est disponible sur le référentiel officiel Ubuntu 20.04, en plus de Memcached, nous allons également installer un outil CLI appelé libmemcached-tools pour gérer Memcached. Exécutez simplement la commande suivante pour installer les deux

sudo apt installer memcached libmemcached-tools

Vérifier l'installation

Une fois l'installation terminée, le démon Memcached démarre tout seul en arrière-plan. Pour vérifier l'installation, nous pouvons utiliser une commande de libmemcached-tools package pour obtenir les statistiques du serveur Memcached. Soit courir

memcstat --servers localhost

ou

memcstat --servers 127.0.0.1

le memcstat La commande affiche les statistiques du serveur en cours d'exécution. La commande ci-dessus entraînera la sortie affichée ci-dessous.

Diverses statistiques telles que disponibilité en secondes, version et pid sera affiché en sortie. Cependant, si aucune sortie n'est affichée, il est possible que Memcached ne soit pas en cours d'exécution. Par conséquent, vous devez exécuter la commande suivante pour démarrer le serveur Memcached.

sudo systemctl démarrer memcached

Pour exécuter le serveur Memcached au démarrage du système, utilisez la commande suivante.

sudo systemctl activer memcached

Configuration de Memcached

Si votre memcached est installé sur le serveur du site Web lui-même, il n'est pas nécessaire de modifier le fichier de configuration car memcached est préconfiguré pour fonctionner avec localhost.

D'un autre côté, si vous avez installé Memcached sur un système séparé, vous devrez modifier la configuration pour permettre au serveur distant d'accéder au serveur Memcached.

Configuration de l'accès à distance pour le serveur Memcached

Memcached est vulnérable aux attaques DDoS (Distributed Denial of Service). Une règle de pare-feu incorrecte et des ports UDP ouverts laisseront votre serveur ouvert et vulnérable aux attaques DDoS.

Pour atténuer le risque, nous pouvons soit désactiver le protocole UDP pour Memcached dans la configuration, soit configurer un pare-feu uniquement pour autoriser les serveurs de confiance.

Prêt à l'emploi, Ubuntu est livré sans ports TCP ou UDP ouverts. De plus, le démon de pare-feu euh (Pare-feu simple) n'est pas activé par défaut.

Nous allons activer le pare-feu et configurer la configuration Memcached afin de pouvoir atténuer la vulnérabilité DDoS.

Tout d'abord, activez le euh en exécutant la commande suivante :

sudo systemctl activer ufw

Puis démarrez le euh service en exécutant la commande ci-dessous :

sudo systemctl démarrer ufw

Avec le pare-feu en cours d'exécution, nous pouvons enfin configurer les règles du pare-feu. Tout d'abord, activez le port 22 pour autoriser les connexions SSH. SSH est nécessaire pour accéder à distance au serveur souhaité.

sudo ufw autoriser 22

Deuxièmement, vous devez connaître l'adresse IP du client, c'est-à-dire l'hôte de l'application Web et l'adresse IP du serveur, c'est-à-dire le serveur Memcached.

Dans ce cas, supposons que l'IP du client soit 192.168.0.4 et l'IP du serveur Memcached à 192.168.0.5 sur un réseau local.

Donc, pour autoriser l'accès à distance du serveur memcached au serveur client, exécutez :

sudo ufw autoriser de 192.168.0.4 à n'importe quel port 11211

Remplace le 192.168.0.4 avec l'adresse IP client souhaitée.

Ensuite, éditez le fichier de configuration Memcached situé à /etc/memcached.conf en exécutant nano commander.

sudo nano /etc/memcached.conf

le memcached.conf le fichier de configuration s'ouvrira avec l'éditeur nano, recherchez le -l 127.0.0.1 ligne dans la configuration et remplacez 127.0.0.1 avec votre IP Memcached Server ou dans ce cas 192.168.0.5.

Après avoir remplacé la presse ctrl+o pour écrire dans le fichier de configuration et appuyez sur Entrée, appuyez sur ctrl+x pour quitter nano.

Redémarrez le serveur Memcached et euh pare-feu en exécutant la commande ci-dessous.

sudo systemctl redémarrer memcached ufw

Nous avons maintenant terminé l'installation et la configuration du serveur Memcached sur Ubuntu 20.04.

Connexion au serveur Memcached

Pour utiliser le serveur Memcached, vous devrez installer un client spécifique à la langue. Heureusement, Memcached prend en charge de nombreuses langues populaires.

Voyons donc comment installer php et python client pour Memcached.

PHP est le langage de script côté serveur le plus populaire et Memcached est principalement utilisé par les développeurs Web pour améliorer les performances du serveur des applications Web alimentées par PHP.

Pour installer le support memcached en php, Cours:

sudo apt installer php-memcached

Python possède également plusieurs bibliothèques qui peuvent fonctionner et interagir avec le serveur Memcached telles que pymemcaché ou python-memcached.

Vous pouvez installer memcached pour python en exécutant les commandes pip suivantes :

pip installer pymemcache
pip installer python-memcached

En conclusion, nous avons examiné l'installation, la configuration et quelques clients spécifiques à la langue de Memcached dans Ubuntu 20.04.

Pour en savoir plus sur l'utilisation approfondie et avancée de Memcached, jetez un œil au Wiki Memcached.