Memcached es un almacén de datos clave-valor en memoria de alto rendimiento, gratuito y de código abierto. Por lo general, se usa como un sistema de almacenamiento en caché para acelerar las aplicaciones al almacenar en caché varios objetos de los resultados de las llamadas a la base de datos.
Este artículo muestra cómo instalar y configurar Memcached en CentOS 8.
Instalación de Memcached en CentOS #
Los paquetes de Memcached se incluyen en los repositorios predeterminados de CentOS 8. La instalación es bastante fácil, ingrese el siguiente comando como root o usuario con privilegios sudo:
sudo dnf install memcached libmemcached
El libmemcached
El paquete proporciona varias herramientas de línea de comandos para administrar el servidor Memcached.
Una vez completada la instalación, habilite e inicie el servicio Memcached escribiendo:
sudo systemctl enable memcached --now
Para verificar que Memcached se está ejecutando, escriba:
sudo systemctl status memcached
La salida debería verse así:
● 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
...
Eso es todo, ha instalado Memcached en su servidor CentOS 8 y puede comenzar a usarlo.
Configuración de Memcached #
Las opciones de Memcached se pueden configurar en /etc/sysconfig/memcached
expediente. De forma predeterminada, Memcached está configurado para escuchar solo en localhost.
Si el cliente que se conecta al servidor también se ejecuta en el mismo host, no debe realizar ningún cambio.
Acceso Remoto #
Si la aplicación que se conectará a Memcached está alojada en un servidor remoto, debe configurar su firewall y permitir el acceso al puerto de Memcached 11211
solo desde la dirección IP del cliente.
Cuando se configura incorrectamente, Memcached puede usarse para realizar un ataque de denegación de servicio distribuido (DDoS).
El siguiente ejemplo asume que desea conectarse al servidor Memcached a través de una red privada. La IP del servidor Memcached es 192.168.100.20
y la dirección IP del cliente es 192.168.100.30
.
El primer paso es editar la configuración de Memcached y configurar el servicio para escuchar en la interfaz de red privada del servidor:
Abre el memcached
archivo de configuración:
sudo nano /etc/sysconfig/memcached
En las OPTIONS
parámetro, agregue la dirección IP del servidor -l 192.168.100.20
. Esto le indica a Memcached que se vincule solo a la interfaz especificada.
OPTIONS="-l 192.168.100.20"
Guarde el archivo y reinicie el servicio Memcached para que los cambios surtan efecto:
sudo systemctl restart memcached
Una vez configurado el servicio, el siguiente paso es abrir el puerto Memcached en su firewall.
CentOS viene con una herramienta de configuración de cortafuegos FirewallD
. Los siguientes comandos crearán una nueva zona llamada memcached
, abre el puerto 11211
y permitir el acceso solo desde la dirección IP del cliente.
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
Conectando a Memcached #
Para conectarse al servidor de Memcached, debe usar un cliente específico del idioma.
PHP#
Para usar Memcached como una base de datos de almacenamiento en caché para su aplicación PHP, como WordPress, Drupal o Magento, debe instalar php-pecl-memcached
extensión:
sudo dnf install php-pecl-memcache
Pitón #
Hay varias bibliotecas de Python para interactuar con Memcached. Puede instalar su biblioteca preferida usando pip:
pip install pymemcache
pip install python-memcached