Memcached es un almacén de datos de clave-valor en memoria de alto rendimiento, gratuito y de código abierto. Se utiliza principalmente como 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.

En este tutorial, explicaremos cómo instalar y configurar Memcached en CentOS 7.
Prerrequisitos

Antes de continuar con este tutorial, asegúrese de iniciar sesión como usuario con privilegios sudo.
Instalando Memcached

Los paquetes de Memcached se incluyen en los repositorios predeterminados de CentOS 7. La instalación es bastante fácil, simplemente escriba el siguiente comando:

yum install memcached libmemcached

El paquete libmemcached contiene proporciona varias herramientas de línea de comandos para administrar el servidor Memcached.

Una vez completada la instalación, inicie y habilite el servicio Memcached

systemctl start memcached y a continuacion systemctl enable memcached para activar el servicio

Eso es todo, en este punto tiene Memcached instalado y ejecutándose en su servidor CentOS 7.

Configurando Memcached

Memcached se puede configurar editando el archivo / etc / sysconfig / memcached. De forma predeterminada, Memcached está configurado para escuchar en todas las interfaces. En las siguientes secciones, le mostraremos cómo configurar el servicio para el acceso local y remoto.

Cuando se configura incorrectamente, se puede usar Memcached para realizar un ataque distribuido de denegación de servicio (DDoS).
Sólo acceso local

Si el cliente que se conecta al servidor también se está ejecutando en el mismo host, se recomienda configurar el servicio Memcached para que solo escuche localhost.

Para hacerlo, abra el archivo de configuración de memcached con su editor de texto:

nano /etc/sysconfig/memcached

En el parámetro OPCIONES agregue -l 127.0.0.1. Esto le indica a Memcached que se enlace solo a la interfaz especificada y no olvides de reiniciar el servicio para aplicar los cambios con el comando systemctl restart memcached

Configurar para 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.

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

CentOS viene con una herramienta de configuración de firewall FirewallD. Los comandos a continuación crearán una nueva zona llamada memcached, abrirán el puerto 11211 y permitirán el acceso solo desde la dirección IP del cliente.

firewall-cmd --new-zone=memcached --permanent
firewall-cmd --zone=memcached --add-port=11211/udp --permanent
firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
firewall-cmd --reload

Una vez que su firewall esté configurado, el siguiente paso es editar la configuración de Memcached y configurar el servicio para que escuche en la interfaz de red privada del servidor:

Abra el archivo de configuración de memcached:

In the OPTIONS parameter add the server IP address -l 192.168.100.20 y despues reinicia el servicio systemctl restart memcached

Conectando a Memcached

Para conectarse al servidor Memcached, debe utilizar 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, necesita instalar la extensión php-pecl-memcached:

sudo apt install php-pecl-memcache

Dupdo
Pitón

Hay varias bibliotecas de Python para interactuar con memcache. Puedes instalar tu biblioteca preferida usando pip:

pip instalar pymemcache

Dupdo

pip instalar python-memcached

Dupdo
Conclusión

Ha aprendido cómo instalar Memcached en su servidor CentOS 7. Para obtener más información sobre este tema, consulte Memcached Wiki.