Comment installer Memcached sur Debian 12, 11 ou 10

Brad Fitzpatrick a développé Memcached en 2003 pour le site Web LiveJournal en tant que système de mise en cache puissant et open source permettant d'améliorer les performances des applications Web dynamiques en réduisant la charge de la base de données. Depuis, il est devenu vital pour de nombreux sites Web et applications à fort trafic. Avant d'installer Memcached sur Debian 12 Bookworm, Debian 11 Bullseye ou Debian 10 Buster, examinons ci-dessous quelques points clés concernant Memcached.

Principales caractéristiques et avantages :

  • Évolutivité : Memcached, gérant des millions d'opérations par seconde, est idéal pour les applications et services Web à grande échelle.
  • Mise en cache distribuée : Grâce à une architecture de mise en cache distribuée, Memcached permet une mise à l'échelle horizontale sur plusieurs serveurs, augmentant ainsi la capacité globale du cache.
  • Stockage en mémoire : En tant que magasin clé-valeur en mémoire, Memcached garantit un accès rapide aux données mises en cache, réduisant ainsi considérablement la latence dans les systèmes de stockage sur disque.
  • API simple : Memcached fournit une API simple qui prend en charge divers langages de programmation, notamment PHP, Python, Ruby et autres.
  • Expiration du cache : Le système permet aux développeurs de définir des délais d'expiration pour les données mises en cache, facilitant ainsi la suppression automatique des données obsolètes ou périmées du cache.
  • Poids léger: Avec une surcharge minimale du processeur et de la mémoire, Memcached fonctionne efficacement sur diverses configurations de serveur sans épuiser considérablement les ressources système.
  • Types de données flexibles : Memcached prend en charge différents types de données, tels que des chaînes, des entiers et des objets complexes, ce qui le rend polyvalent pour divers cas d'utilisation.

Le guide suivant vous guidera tout au long du processus d'installation de Memcached sur Debian en utilisant deux méthodes : le référentiel Debian par défaut pour la version la plus stable ou le téléchargement et la compilation du dernier binaire pour ceux qui préfèrent travailler avec la dernière version.

Méthode 1 : installer Memcached via le référentiel APT par défaut

Dans cette section, nous installerons Memcached sur votre système Debian Linux à l'aide du gestionnaire de packages APT. Cela implique de mettre à jour vos packages système et d'installer Memcached avec des outils utiles.

Mettez à jour votre système Debian avant l'installation de Memcached

Pour vous assurer que vous disposez des dernières versions de paquets et mises à jour de sécurité, commencez par mettre à jour votre système Debian. Exécutez la commande suivante :

sudo apt update && sudo apt upgrade

Cette commande mettra à jour votre liste de packages et mettra à niveau les packages obsolètes vers leurs dernières versions.

Installer les outils Memcached et Libmemcached

Debian inclut Memcached dans ses référentiels par défaut, ce qui simplifie l'installation. Pour installer Memcached, exécutez la commande suivante :

sudo apt install memcached libmemcached-tools

Cette commande installe à la fois Memcached et le libmemcached-tools emballer. Le libmemcached-tools Le package fournit des utilitaires de ligne de commande supplémentaires qui permettent davantage de capacités d'interaction et de gestion avec Memcached.

Méthode 2 : installer Memcached via la source

Cette section couvre l'installation de Memcached sur votre système Debian en le compilant à partir du code source. L'installation à partir de la source peut être bénéfique si vous souhaitez utiliser la dernière version de Memcached ou personnaliser la version pour des exigences spécifiques.

Téléchargez la source Memcached

Tout d'abord, visitez le Memcached page de la dernière version pour trouver la version actuelle. Utilisez le suivant wget commande pour le télécharger directement :

wget https://memcached.org/latest

Extraire l'archive source Memcached

Ensuite, extrayez le code source téléchargé en exécutant la commande suivante :

tar -xvf latest

Avant de continuer, accédez au répertoire extrait. Le nom du répertoire dépend de la version téléchargée :

cd memcached-{place version number here}

Remplacer {version_number} avec le numéro de version réel.

Installer les packages initiaux requis pour compiler Memcached

Avant de compiler Memcached, vous devez installer les dépendances de build nécessaires. Exécutez la commande suivante pour les installer :

sudo apt install build-essential libevent-dev gcc make libc6-dev

Les packages installés répondent aux objectifs suivants :

  • gcc: Un compilateur C bien connu pour les fichiers sources Memcached.
  • make: Dirige la compilation.
  • libc6-dev: Fournit une référence à la bibliothèque GNU C et aux fichiers d'en-tête.
  • libevent-dev: Contient les fichiers de développement pour la notification d'événements asynchrones.

Configurer l'installation

Utilisez le --prefix= paramètre pour définir le répertoire dans lequel les binaires et les bibliothèques Memcached seront installés :

./configure --prefix=/usr/local

Compiler le code source Memcached

Compilez le code source de Memcached avec le make commande:

make

Testez Memcached en confirmant la version actuelle :

./memcached --version

Installez Memcached via la commande 'make install'

Une fois le processus de compilation terminé, installez Memcached en exécutant la commande suivante :

sudo make install

Cette commande installe Memcached sur votre système, le rendant accessible depuis la ligne de commande. Pour vous assurer que le système reconnaît les nouvelles bibliothèques, exécutez la commande suivante :

sudo ldconfig

Vérifier l'installation de Memcached

Pour vérifier que Memcached est installé avec succès, exécutez la commande suivante :

memcached -V

Cette commande affichera la version installée de Memcached, confirmant l'installation réussie à partir du code source.

Créer un service Systemd pour Memcached

Lorsque vous installez Memcached à partir de la source, il ne crée pas automatiquement un fichier de service systemd. Pour exécuter Memcached en tant que service et le gérer à l'aide systemctl, vous devez créer un fichier de service systemd personnalisé pour Memcached. Suivez ces étapes pour créer et activer le service :

Créez un nouveau fichier appelé memcached.service dans le /etc/systemd/system répertoire à l’aide d’un éditeur de texte de votre choix. Dans cet exemple, nous utiliserons nano:

sudo nano /etc/systemd/system/memcached.service

Ajoutez le contenu suivant au memcached.service déposer:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Enregistrez le fichier et quittez l'éditeur de texte.

Créer un memcache utilisateur et groupe pour exécuter le service en toute sécurité :

sudo useradd -r -s /sbin/nologin -U -M memcache

Rechargez la configuration systemd pour reconnaître le nouveau fichier de service :

sudo systemctl daemon-reload

Enfin, démarrez le service :

sudo systemctl enable memcached --now

Gestion de l'état du service Memcached

Cette section couvrira la gestion du service Memcached sur votre système Debian. Cela inclut la vérification de l'état du service, le démarrage et l'arrêt du service, ainsi que sa configuration pour qu'il s'exécute au démarrage du système.

Vérifiez l'état du service Memcached

Par défaut, Memcached devrait être exécuté après l'installation. Pour vérifier son statut, utilisez le systemctl commande comme suit :

systemctl status memcached

Cette commande affichera l'état actuel du service Memcached.

Démarrez le service Memcached

Si Memcached n'est pas en cours d'exécution, vous pouvez démarrer le service avec la commande suivante :

sudo systemctl start memcached

Activer Memcached au démarrage du système

Pour vous assurer que le service Memcached démarre automatiquement au démarrage de votre système, utilisez la commande suivante :

sudo systemctl enable memcached

Arrêtez le service Memcached

Si vous devez arrêter le service Memcached, utilisez cette commande :

sudo systemctl stop memcached

Désactiver Memcached au démarrage du système

Pour empêcher le service Memcached de démarrer automatiquement au démarrage du système, exécutez la commande suivante :

sudo systemctl disable memcached

Redémarrez le service Memcached

Si vous devez redémarrer le service Memcached, par exemple après avoir apporté des modifications à la configuration, utilisez cette commande :

sudo systemctl restart memcached

Vérifiez que Memcached écoute sur le port par défaut

Enfin, vérifiez que Memcached écoute activement sur l'hôte local en utilisant le port par défaut 11211. Pour le confirmer, exécutez la commande suivante :

ps -ef | grep memcached

La sortie doit afficher une ligne indiquant que Memcached est en cours d'exécution et écoute sur le port spécifié, semblable à ce qui suit :

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Configurer les astuces Memcached

Cette section couvrira la configuration des paramètres Memcached en modifiant le memcached.conf déposer. Nous discuterons de l'ajustement de l'adresse IP d'écoute, de la désactivation d'UDP et de la modification de l'allocation de mémoire par défaut.

Ouvrez le fichier de configuration Memcached

Ouvrez le fichier de configuration Memcached situé à l'adresse /etc/memcached.conf à l'aide d'un éditeur de texte, tel que nano:

sudo nano /etc/memcached.conf

Les utilisateurs qui ont compilé Memcached à partir des sources devront le créer lorsque vous l'ouvrirez pour la première fois ; le fichier sera vide par rapport à la méthode APT ; vous pouvez copier ceci pour commencer le réglage :

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Ajuster l'adresse IP d'écoute

Par défaut, Memcached écoute l'adresse IP 127.0.0.1. Vérifiez le paramètre -l dans le fichier de configuration et assurez-vous qu'il est défini sur la bonne adresse IP. Si vous devez modifier l'adresse IP, remplacez 127.0.0.1 avec la nouvelle adresse IP :

-l 127.0.0.1

Désactiver UDP (facultatif)

Si vous n'avez pas besoin du support UDP, il est recommandé de le désactiver. Pour désactiver UDP, ajoutez la ligne suivante au fichier de configuration :

-U 0

Configurer l'allocation de mémoire

L'allocation de mémoire par défaut pour Memcached est de 64 Mo, ce qui peut ne pas être suffisant pour les sites Web plus grands. Pensez à ajuster l'allocation de mémoire à une valeur plus élevée pour maximiser Memcached.

Pour définir l'allocation de mémoire, recherchez le -m paramètre dans le fichier de configuration et remplacez la valeur par défaut par la quantité souhaitée (en Mo). Par exemple, pour allouer 2 Go de mémoire, définissez la valeur sur 2000:

-m 2000

Ajustez ce paramètre en fonction de la mémoire disponible et des exigences de votre serveur.

Enregistrer et redémarrer Memcached

Après avoir apporté les modifications nécessaires, enregistrez le fichier de configuration en appuyant sur CTRL+O, suivi de Y, et puis CTRL+X pour quitter l'éditeur de texte. Enfin, redémarrez le service Memcached pour que les modifications prennent effet :

sudo systemctl restart memcached

Exemples de configuration Memcached supplémentaires

En plus des options de configuration abordées précédemment, il existe plusieurs autres paramètres que vous pouvez ajuster pour affiner Memcached en fonction de vos besoins. Voici quelques exemples, accompagnés de brèves démonstrations :

Spécifiez l'utilisateur et le groupe

Memcached s'exécute sous un utilisateur et un groupe spécifiques spécifiés à l'aide du -u paramètre. Par exemple, pour exécuter Memcached en tant que memcache utilisateur, ajoutez la ligne suivante au fichier de configuration :

-u memcache

Activer les grandes pages de mémoire

L'activation de cette fonctionnalité peut améliorer les performances si votre système prend en charge des pages de mémoire volumineuses. Pour activer les pages de mémoire volumineuses, recherchez le -L paramètre et décommentez-le (supprimez le # au début de la ligne) :

-L

Configurer la taille maximale de l'élément

Memcached a une taille d'élément maximale par défaut de 1 Mo. Pour augmenter la taille maximale de l'élément, utilisez le -I paramètre suivi de la taille souhaitée. Par exemple, pour définir la taille maximale des éléments sur 5 Mo, ajoutez la ligne suivante au fichier de configuration :

-I 5m

Définir le nombre maximum de threads

Memcached utilise quatre threads par défaut. Vous pouvez utiliser le paramètre pour augmenter ou diminuer le nombre de threads en fonction des capacités et de la charge de travail de votre serveur. Par exemple, pour définir le nombre de threads à 8, ajoutez la ligne suivante :

-t 8

Configurer le délai d'inactivité

Memcached ferme automatiquement les connexions inactives après une certaine période d'inactivité. Pour modifier le délai d'inactivité, utilisez le -o paramètre suivi de idle_timeout et le nombre de secondes souhaité. Par exemple, pour définir le délai d'inactivité sur 600 secondes (10 minutes), ajoutez la ligne suivante :

-o idle_timeout=600

Activer l'authentification SASL

Vous pouvez activer la prise en charge SASL (Simple Authentication and Security Layer) si vous avez besoin d'une authentification pour accéder à votre serveur Memcached. Pour activer SASL, recherchez le -S paramètre et décommentez-le (supprimez le # au début de la ligne) :

-S

N'oubliez pas de toujours redémarrer le service Memcached après avoir apporté des modifications au fichier de configuration :

sudo systemctl restart memcached

Installer le pare-feu UFW pour Memcached

Pour garantir la sécurité de votre instance Memcached, il est crucial de configurer correctement vos règles de pare-feu. Cette section expliquera comment installer et configurer le pare-feu simple (UFW) pour sécuriser votre serveur Memcached.

Vérifiez si UFW est installé

Tout d'abord, vérifions si UFW est déjà installé sur votre système Debian :

sudo ufw --version

Si UFW est installé, vous verrez son numéro de version dans la sortie. Sinon, vous devrez l'installer.

Installer UFW sur Debian pour Memcached

Pour installer UFW sur votre système Debian, exécutez la commande suivante :

sudo apt install ufw

Une fois l'installation terminée, activez UFW avec la commande suivante :

sudo ufw enable

Configurer les règles UFW pour Memcached

Maintenant que UFW est installé et activé, vous devez créer des règles d'autorisation sur le port TCP 11211. Les règles que vous créerez dépendront de votre installation et de vos exigences, que vous utilisiez une seule connexion réseau IP ou que vous travailliez avec plusieurs instances dans un réseau de cluster.

Exemple de connexion réseau IP unique

Autoriser l'accès à Memcached à partir d'une adresse IP spécifique :

sudo ufw allow proto tcp from <ip_address> to any port 11211

Exemple de connexion réseau IP de cluster avec plusieurs instances

Autoriser l'accès à Memcached à partir d'un sous-réseau d'adresses IP :

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Notez que la deuxième règle UFW est une règle de sous-réseau. Assurez-vous que le réseau interne est sécurisé et digne de confiance avant d’autoriser l’accès.

Étape 4 : Vérifier les règles UFW

Après avoir configuré les règles appropriées, vérifiez qu'elles sont correctement configurées en répertoriant les règles UFW actuelles :

sudo ufw status

La sortie doit afficher vos règles configurées, garantissant que votre instance Memcached est sécurisée avec UFW.

Installer les bibliothèques Memcached

Memcached propose des extensions pour différents langages de programmation, mais il est le plus couramment utilisé avec PHP. Cette section vous guidera dans l'installation des bibliothèques Memcached pour PHP, Python et Perl et dans la configuration de Memcached pour les serveurs Web Apache et Nginx.

Installer les bibliothèques PHP pour Memcached

Pour installer la bibliothèque PHP pour Memcached, exécutez la commande suivante :

sudo apt install php-memcached libapache2-mod-php php php-cli

Configurer Memcached pour le serveur HTTP Apache

Si vous utilisez le serveur HTTP Apache, activez le module Memcached en exécutant la commande suivante :

sudo phpenmod memcached && sudo systemctl restart apache2

Configurer Memcached pour le serveur HTTP Nginx

La prise en charge de Memcached sera activée par défaut dans votre bloc de configuration PHP une fois la bibliothèque PHP installée pour les utilisateurs de Nginx.

Vous trouverez ci-dessous un exemple simple de bloc de serveur nginx :

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Installer la bibliothèque Python pour Memcached

Pour installer la prise en charge Python pour Memcached, exécutez la commande suivante :

sudo apt install python3-pymemcache

Installer la bibliothèque Perl pour Memcached

Pour installer la prise en charge de Perl pour Memcached, exécutez la commande suivante :

sudo apt install libcache-memcached-libmemcached-perl

Accéder à Memcached depuis la ligne de commande

Memcached peut être surveillé et géré via divers logiciels et interfaces utilisateur Web. Cependant, interagir directement avec Memcached à l'aide de la ligne de commande est souvent la méthode la plus simple pour vérifier ses performances et gérer son contenu.

Tout d'abord, connectez-vous à votre service Memcached en utilisant telnet :

telnet localhost 11211

Exemple de sortie :

Essayer 127.0.0.1... Connecté à localhost. Le caractère d'échappement est '^]'.

Ensuite, vous pouvez obtenir un aperçu de votre service Memcached avec la commande suivante :

stats

Cette commande renverra diverses statistiques sur votre instance Memcached, telles que la disponibilité, le nombre d'éléments dans le cache et le nombre de connexions client.

Vous pouvez affiner votre analyse en examinant les dalles Memcached (partitions de mémoire). Par exemple, vous pouvez lister les dalles de l'instance connectée avec :

stats slabs

Et obtenez une liste de dalles, y compris le nombre d'éléments stockés dans chaque dalle, en utilisant :

stats items

Pour accéder et manipuler les données stockées dans Memcached, vous pouvez utiliser le cachedump commande pour lister les clés. Pour répertorier tous les éléments d'une dalle spécifique, exécutez la commande suivante :

stats cachedump [slab ID] [number of items, 0 for all items]

Par exemple:

stats cachedump 1 0

Exemple de sortie :

Clé de test ITEM [9 b ; 1296857316s] FIN

Dans cet exemple, la dalle 1 contient un élément avec la clé « testkey ». Pour récupérer la valeur de cet élément, utilisez le get commande:

get testkey

Exemple de sortie :

VALEUR clé de test 0 9 données de test FIN

Enfin, pour supprimer un élément en cache, tel que « testkey », utilisez la commande suivante :

delete testkey

Exemple de sortie :

SUPPRIMÉ

Conclusion

En conclusion, l'installation et la configuration de Memcached sur Debian Linux peuvent améliorer considérablement les performances de vos applications Web en fournissant un système de mise en cache rapide, efficace et facile à utiliser. En suivant les étapes décrites dans ce guide, vous pouvez configurer avec succès Memcached, le configurer avec votre serveur Web préféré et le sécuriser à l'aide d'UFW. Avec une configuration et une gestion appropriées, Memcached peut devenir essentiel pour optimiser vos applications et offrir une meilleure expérience utilisateur.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire