Cómo instalar Memcached (servidor de almacenamiento en caché) en CentOS 7


Memcached es un programa de almacenamiento en caché de objetos de memoria distribuida de código abierto que nos permite mejorar y acelerar el rendimiento de aplicaciones web dinámicas mediante el almacenamiento en caché de datos y objetos en la memoria.

Memcached también se utiliza para almacenar en caché tablas y consultas completas de la base de datos para mejorar el rendimiento de la base de datos. Es el único sistema de almacenamiento en caché disponible de forma gratuita y utilizado por muchos sitios importantes como YouTube, Facebook, Twitter, Reddit, Drupal, Zynga, etc.

Memcached puede cometer ataques de denegación de servicio si no se configura correctamente. En este artículo, explicaremos cómo instalar y proteger su servidor Memcached en la distribución de Linux CentOS 7. Estas instrucciones proporcionadas también funcionan en RHEL y Fedora Linux.

Instalación de Memcached en CentOS 7

Primero, actualice el índice de su paquete de software local y luego instale Memcached desde los repositorios oficiales de CentOS usando los siguientes comandos yum.

# yum update
# yum install memcached

A continuación, instalaremos libmemcached, una biblioteca cliente que ofrece un par de herramientas para administrar su servidor Memcached.

# yum install libmemcached

Memcached ahora debería estar instalado en su sistema CentOS como un servicio, junto con las herramientas que requerían que probara su conectividad. Ahora podemos continuar para asegurar sus ajustes de configuración.

Asegurar los ajustes de configuración de Memcached

Para asegurarnos de que el servicio Memcached instalado esté escuchando en la interfaz local 127.0.0.1 , modificaremos la variable OPTIONS en /etc/sysconfig/memcached archivo de configuración.

# vi /etc/sysconfig/memcached

Busque la variable OPTIONS y agregue -l 127.0.0.1 -U 0 a la variable OPTIONS . Estos ajustes de configuración protegerán nuestro servidor de ataques de denegación de servicio.

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1 -U 0" 

Analicemos cada uno de los parámetros anteriores en detalle.

  1. PORT: el puerto que utiliza Memcached para ejecutarse.
  2. USUARIO: el demonio de inicio para el servicio Memcached.
  3. MAXCONN: el valor utilizado para establecer el número máximo de conexiones simultáneas en 1024. Para servidores web ocupados, puede aumentar a cualquier número según sus requisitos.
  4. CACHESIZE: establezca el tamaño de la memoria caché en 2048. Para servidores ocupados, puede aumentar hasta 4 GB.
  5. OPCIONES: establezca la dirección IP del servidor, para que los servidores web Apache o Nginx puedan conectarse a él.

Reinicie y habilite su servicio Memcached para aplicar sus cambios de configuración.

# systemctl restart memcached
# systemctl enable memcached

Una vez iniciado, puede confirmar que su servicio Memcached está vinculado a la interfaz local y escucha solo en conexiones TCP usando el siguiente comando netstat.

# netstat -plunt

También puede verificar las estadísticas del servidor usando memcached-tool como se muestra.

# memcached-tool 127.0.0.1 stats

Ahora asegúrese de permitir el acceso al servidor Memcached abriendo un puerto 11211 en su firewall como se muestra.

# firewall-cmd --permanent --zone=public --add-port=11211/tcp

Instalar la extensión PHP Memcached

Ahora, instale una extensión PHP para trabajar con el demonio Memcached.

# yum install php-pecl-memcache

Instalar la biblioteca Perl de Memcached

Instale la biblioteca Perl para Memcached.

# yum install perl-Cache-Memcached

Instalar la biblioteca de Python Memcached

Instale la biblioteca de Python para Memcached.

# yum install python-memcached

Reiniciar el servidor web

Reinicie el servicio Apache o Nginx para reflejar los cambios.

# systemctl restart httpd
# systemctl restart nginx

Caché de consultas MySQL con Memcached

No es una tarea fácil para todos, necesita usar API para modificar sus códigos PHP para habilitar el almacenamiento en caché de MySQL. Puede encontrar los códigos de ejemplo en Memcache con MySQL y PHP.

¡Eso es! En este artículo, hemos ampliado cómo instalar y asegurar su servidor Memcached a la interfaz de red local. Si ha tenido algún problema durante la instalación, solicite ayuda en nuestra sección de comentarios a continuación.