Instalar y configurar Memcached en Centos 7

Hablamos del programa de almacenamiento en caché llamado Memcached, en sistemas GNU/Linux. Pero antes de ver su instalación y configuración en nuestras distribuciones favoritas, veamos en que consiste.

¿Qué es la caché?

Sin duda la utilidad de la caché es indiscutible, ya que acelera la entrega de los elementos de nuestra web a los usuarios. Se encarga de garantizar que los diferentes elementos se almacenen, de modo que se minimice la latencia.

¿Qué es memcached?

Se trata de un producto de software libre que sigue la filosofía de desarrollo del código abierto. Su función principal es acelerar las aplicaciones web dinámicas al aliviar la carga en las bases de datos que estas utilicen.

Memcached no deja de ser un almacén de “claves-valor” en memoria para pequeños fragmentos de datos, ya sea cadenas u objectos, que son resultado de llamadas a bases de datos, API o representación de páginas.

Podéis visitar su página web oficial.

Instalación y configuración de memcached en Centos 7

Su instalación es bien sencilla, ya que no vamos a necesitar ningún repositorio adicional, Memcached se encuentra en los repositorios principales de las mayoría de distribuciones.

Para el artículo voy a utilizar Centos 7, la instalación sería así:

1
2
yum update
yum install memcached

A continuación, vamos a instalar libmemcached, una biblioteca que ofrece un par de herramientas para administrar nuestro servidor con memcached.

1
yum install libmemcached

Ahora vamos a pasar a asegurar la instalación, ya que es susceptible de ataques con la configuración por defecto.

Asegurar Memcached

Para asegurarnos que el servicio instalado este escuchando en la interfaz local 127.0.0.1, modificaremos la variable OPTIONS en el fichero de configuración “/etc/sysconfig/memcached”

1
vi /etc/sysconfig/memcached

Debemos buscar la variable OPTIONS y añadir la variable “-l 127.0.0.1 -U 0”. Este ajuste de configuración protegerá nuestro servidor de ataques de DDOS, esto es, de denegación de servicio.

1
2
3
4
5
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1 -U 0"

Veamos los detalles de la configuración:

  • PORT: El puerto utilizado por el servicio para funcionar.
  • USER: El “daemon” de inicio para el servicio
  • MAXCONN: El valor utilizado para establecer el máximo de conexiones simultanea en 1024. Si nuestra web reciben mucho tráfico sería adecuado aumentar la cifra.
  • CACHESIZE: Establecemos el tamaño de la memoria de la caché en 2048. Para servidores ocupados, podemos aumentar hasta 4 GB
  • OPTIONS: Configuramos la dirección IP de escucha, de modo que los servidores web, ya sean NGINX o Apache se pueden conectar.

Una vez hecho los cambios arrancamos el servicio y lo añadimos al inicio:

1
2
systemctl restart memcached
systemctl enable memcached

Una vez iniciado, podemos confirnar que el servicio está funcionando sobre la interfaz local y escucha solo conexiones. Para ello podemos utilizar la herramienta “netstat”

1
netstat -plunt

También podemos verificar las estadísticas del servidor utilizando la herramienta “memcached-tool”, como sigue:

1
memcached-tool 127.0.0.1 stats

Con un resultado similar al siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[davidochobits@servcentos]$ memcached-tool 127.0.0.1 stats
#127.0.0.1:11211   Field       Value
         accepting_conns           1
               auth_cmds           0
             auth_errors           0
                   bytes           0
              bytes_read          14
           bytes_written        1021
              cas_badval           0
                cas_hits           0
              cas_misses           0
               cmd_flush           0
                 cmd_get           0
                 cmd_set           0
               cmd_touch           0
             conn_yields           0
   connection_structures           2
        curr_connections           1
              curr_items           0
               decr_hits           0
             decr_misses           0
             delete_hits           0
           delete_misses           0
       evicted_unfetched           0
               evictions           0
       expired_unfetched           0
                get_hits           0
              get_misses           0
              hash_bytes      524288
       hash_is_expanding           0
        hash_power_level          16
               incr_hits           0
             incr_misses           0
                libevent 2.0.21-stable
          limit_maxbytes    67108864
     listen_disabled_num           0
                     pid       17221
            pointer_size          64
               reclaimed           0
            reserved_fds          20
           rusage_system    0.026198
             rusage_user    0.022705
                 threads           4
                    time  1554130266
       total_connections           3
             total_items           0
              touch_hits           0
            touch_misses           0
                  uptime         937
                 version      1.4.15

Habilitar memcached en el cortafuegos

Si tenemos el cortafuegos habilitado, debemos añadir el puerto correspondiente a la configuración:

1
2
firewall-cmd --permanent  --add-port=11211/tcp
fireall-cmd --reload

Instalar la extensión de PHP para Memcached

Si deseamos instalar la extensión de PHP para Memcached, solo hemos de escribir:

1
yum install php-pecl-memcache

Instalar la extensión de Perl para Memcached

En el caso de la extensión para Perl, ejecutamos:

1
yum install perl-Cache-Memcached

Instalar la extensión de Python para Memcached

Lo propio para la extensión de Python:

1
yum install python-memcached

Siempre que instalemos extensión nueva hemos de reiniciar el servidor web que utilicemos:

1
2
systemctl restart httpd
systemctl restart nginx

Conclusiones

Hemos visto como instalar, configurar y asegurar el servicio Memcached en nuestro servidor, en pocos pasos. Se trata de un guía inicial, os invito a investigar y probar este producto.

Y esto es todo, espero que en algún momento os pueda servir la información.

Fuentes consultadas:

Tecmint.com – How to Install Memcached (Caching Server) on CentOS 7

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies