Memcached est un magasin de données clé-valeur en mémoire hautes performances gratuit et open source. En règle générale, il est utilisé comme système de mise en cache pour accélérer les applications en mettant en cache divers objets à partir des résultats des appels de base de données.
Cet article montre comment installer et configurer Memcached sur CentOS 8.
Installation de Memcached sur CentOS #
Les packages Memcached sont inclus dans les référentiels CentOS 8 par défaut. L'installation est assez simple, entrez la commande suivante en tant que root ou utilisateur avec les privilèges sudo :
sudo dnf install memcached libmemcached
Le libmemcached
fournit plusieurs outils de ligne de commande pour gérer le serveur Memcached.
Une fois l'installation terminée, activez et démarrez le service Memcached en tapant :
sudo systemctl enable memcached --now
Pour vérifier que memcached est en cours d'exécution, tapez :
sudo systemctl status memcached
Le résultat devrait ressembler à ceci :
● memcached.service - memcached daemon
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
...
Ça y est, vous avez installé Memcached sur votre serveur CentOS 8 et vous pouvez commencer à l'utiliser.
Configuration de Memcached #
Les options Memcached peuvent être configurées dans le /etc/sysconfig/memcached
dossier. Par défaut, Memcached est configuré pour écouter uniquement sur localhost.
Si le client qui se connecte au serveur s'exécute également sur le même hôte, vous ne devez apporter aucune modification.
Numéro d'accès à distance
Si l'application qui va se connecter à Memcached est hébergée sur un serveur distant, vous devez configurer votre pare-feu et autoriser l'accès au port Memcached 11211
uniquement à partir de l'adresse IP du client.
Lorsqu'il est mal configuré, Memcached peut être utilisé pour effectuer une attaque par déni de service distribué (DDoS).
L'exemple suivant suppose que vous souhaitez vous connecter au serveur Memcached via un réseau privé. L'IP du serveur Memcached est 192.168.100.20
, et l'adresse IP du client est 192.168.100.30
.
La première étape consiste à modifier la configuration Memcached et à configurer le service pour qu'il écoute sur l'interface de réseau privé du serveur :
Ouvrez le memcached
fichier de configuration :
sudo nano /etc/sysconfig/memcached
Dans les OPTIONS
paramètre, ajouter l'adresse IP du serveur -l 192.168.100.20
. Ceci indique à Memcached de se lier à l'interface spécifiée uniquement.
OPTIONS="-l 192.168.100.20"
Enregistrez le fichier et redémarrez le service Memcached pour que les modifications prennent effet :
sudo systemctl restart memcached
Une fois le service configuré, l'étape suivante consiste à ouvrir le port memcached dans votre pare-feu.
CentOS est livré avec un outil de configuration de pare-feu FirewallD
. Les commandes ci-dessous créeront une nouvelle zone nommée memcached
, ouvrez le port 11211
et n'autoriser l'accès qu'à partir de l'adresse IP du 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
Connexion à Memcached #
Pour vous connecter au serveur Memcached, vous devez utiliser un client spécifique à la langue.
PHP #
Pour utiliser Memcached comme base de données de mise en cache pour votre application PHP telle que WordPress, Drupal ou Magento, vous devez installer le php-pecl-memcached
extension :
sudo dnf install php-pecl-memcache
Python #
Il existe plusieurs bibliothèques Python pour interagir avec memcached. Vous pouvez installer votre bibliothèque préférée en utilisant pip :
pip install pymemcache
pip install python-memcached