Cómo instalar Memcached en Debian 12, 11 o 10

Brad Fitzpatrick desarrolló Memcached en 2003 para el sitio web LiveJournal como un potente sistema de almacenamiento en caché de código abierto para mejorar el rendimiento de las aplicaciones web dinámicas al reducir la carga de la base de datos. Desde entonces, se ha vuelto vital para muchos sitios web y aplicaciones de alto tráfico. Antes de instalar Memcached en Debian 12 Bookworm, Debian 11 Bullseye o Debian 10 Buster, examinemos algunos puntos clave sobre Memcached a continuación.

Características y beneficios clave:

  • Escalabilidad: Memcached, que maneja millones de operaciones por segundo, es ideal para aplicaciones y servicios web a gran escala.
  • Almacenamiento en caché distribuido: Con una arquitectura de caché distribuida, Memcached permite el escalado horizontal en múltiples servidores, ampliando la capacidad general de la caché.
  • Almacenamiento en memoria: Como almacén clave-valor en memoria, Memcached garantiza un acceso rápido a los datos almacenados en caché, lo que reduce significativamente la latencia en los sistemas de almacenamiento basados ​​en disco.
  • API sencilla: Memcached proporciona una API sencilla que admite varios lenguajes de programación, incluidos PHP, Python, Ruby y otros.
  • Expiración de cache: El sistema permite a los desarrolladores establecer tiempos de vencimiento para los datos almacenados en caché, lo que facilita la eliminación automática de datos obsoletos o obsoletos del caché.
  • Ligero: Con una sobrecarga mínima de CPU y memoria, Memcached se ejecuta de manera eficiente en varias configuraciones de servidor sin agotar significativamente los recursos del sistema.
  • Tipos de datos flexibles: Memcached admite varios tipos de datos, como cadenas, números enteros y objetos complejos, lo que lo hace versátil para diversos casos de uso.

La siguiente guía lo guiará a través del proceso de instalación de Memcached en Debian usando dos métodos: el repositorio predeterminado de Debian para la versión más estable o descargando y compilando el binario más reciente para aquellos que prefieren trabajar con la última versión.

Método 1: instalar Memcached a través del repositorio APT predeterminado

En esta sección, instalaremos Memcached en su sistema Debian Linux usando el administrador de paquetes APT. Esto implica actualizar los paquetes de su sistema e instalar Memcached con algunas herramientas útiles.

Actualice su sistema Debian antes de la instalación de Memcached

Para asegurarse de tener las últimas versiones de paquetes y actualizaciones de seguridad, comience actualizando su sistema Debian. Ejecute el siguiente comando:

sudo apt update && sudo apt upgrade

Este comando actualizará su lista de paquetes y actualizará los paquetes obsoletos a sus últimas versiones.

Instalar las herramientas Memcached y Libmemcached

Debian incluye Memcached en sus repositorios predeterminados, lo que simplifica la instalación. Para instalar Memcached, ejecute el siguiente comando:

sudo apt install memcached libmemcached-tools

Este comando instala Memcached y el libmemcached-tools paquete. El libmemcached-tools El paquete proporciona utilidades de línea de comandos adicionales que permiten una mayor interacción y capacidades de administración con Memcached.

Método 2: instalar Memcached a través de la fuente

Esta sección cubre la instalación de Memcached en su sistema Debian compilándolo desde el código fuente. La instalación desde el código fuente puede resultar beneficiosa si desea utilizar la última versión de Memcached o personalizar la compilación para requisitos específicos.

Descargue la fuente de Memcached

Primero, visita Memcached última página de lanzamiento para encontrar la versión actual. Utilice lo siguiente wget comando para descargarlo directamente:

wget https://memcached.org/latest

Extraer el archivo fuente de Memcached

A continuación, extraiga el código fuente descargado ejecutando el siguiente comando:

tar -xvf latest

Antes de continuar, navegue hasta el directorio extraído. El nombre del directorio depende de la versión descargada:

cd memcached-{place version number here}

Reemplazar {version_number} con el número de versión real.

Instalar los paquetes iniciales necesarios para compilar Memcached

Antes de compilar Memcached, debe instalar las dependencias de compilación necesarias. Ejecute el siguiente comando para instalarlos:

sudo apt install build-essential libevent-dev gcc make libc6-dev

Los paquetes instalados sirven para los siguientes propósitos:

  • gcc: Un conocido compilador de C para los archivos fuente de Memcached.
  • make: Dirige la compilación.
  • libc6-dev: Proporciona una referencia a la biblioteca GNU C y a los archivos de encabezado.
  • libevent-dev: Contiene archivos de desarrollo para notificación de eventos asincrónicos.

Configurar la instalación

Utilizar el --prefix= parámetro para establecer el directorio donde se instalarán el binario y las bibliotecas de Memcached:

./configure --prefix=/usr/local

Compilar el código fuente de Memcached

Compile el código fuente de Memcached con el make dominio:

make

Pruebe Memcached confirmando la versión actual:

./memcached --version

Instale Memcached mediante el comando 'make install'

Una vez que se complete el proceso de compilación, instale Memcached ejecutando el siguiente comando:

sudo make install

Este comando instala Memcached en su sistema, haciéndolo accesible desde la línea de comando. Para asegurarse de que el sistema reconozca las nuevas bibliotecas, ejecute lo siguiente:

sudo ldconfig

Verificar la instalación de Memcached

Para verificar que Memcached se haya instalado correctamente, ejecute el siguiente comando:

memcached -V

Este comando mostrará la versión de Memcached instalada, confirmando la instalación exitosa desde el código fuente.

Crear un servicio Systemd para Memcached

Cuando instala Memcached desde la fuente, no crea automáticamente un archivo de servicio systemd. Para ejecutar Memcached como servicio y administrarlo usando systemctl, debe crear un archivo de servicio systemd personalizado para Memcached. Siga estos pasos para crear y habilitar el servicio:

Crea un nuevo archivo llamado memcached.service en el /etc/systemd/system directorio utilizando un editor de texto de su elección. En este ejemplo, usaremos nano:

sudo nano /etc/systemd/system/memcached.service

Agregue el siguiente contenido al memcached.service archivo:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Guarde el archivo y salga del editor de texto.

Crear un memcache usuario y grupo para ejecutar el servicio de forma segura:

sudo useradd -r -s /sbin/nologin -U -M memcache

Vuelva a cargar la configuración de systemd para reconocer el nuevo archivo de servicio:

sudo systemctl daemon-reload

Por último, inicie el servicio:

sudo systemctl enable memcached --now

Administrar el estado del servicio Memcached

Esta sección cubrirá la administración del servicio Memcached en su sistema Debian. Esto incluye verificar el estado del servicio, iniciar y detener el servicio y configurarlo para que se ejecute al iniciar el sistema.

Verifique el estado del servicio Memcached

De forma predeterminada, Memcached debería ejecutarse después de la instalación. Para verificar su estado, utilice el systemctl comando de la siguiente manera:

systemctl status memcached

Este comando mostrará el estado actual del servicio Memcached.

Inicie el servicio Memcached

Si Memcached no se está ejecutando, puede iniciar el servicio con el siguiente comando:

sudo systemctl start memcached

Habilite Memcached en el arranque del sistema

Para asegurarse de que el servicio Memcached se inicie automáticamente cuando se inicie su sistema, use el siguiente comando:

sudo systemctl enable memcached

Detener el servicio Memcached

Si necesita detener el servicio Memcached, utilice este comando:

sudo systemctl stop memcached

Deshabilite Memcached en el arranque del sistema

Para evitar que el servicio Memcached se inicie automáticamente al iniciar el sistema, ejecute el siguiente comando:

sudo systemctl disable memcached

Reinicie el servicio Memcached

Si necesita reiniciar el servicio Memcached, por ejemplo, después de realizar cambios en la configuración, use este comando:

sudo systemctl restart memcached

Verifique que Memcached esté escuchando en el puerto predeterminado

Por último, verifique que Memcached esté escuchando activamente en el host local usando el puerto predeterminado. 11211. Para confirmar esto, ejecute el siguiente comando:

ps -ef | grep memcached

El resultado debería mostrar una línea que indique que Memcached se está ejecutando y escuchando en el puerto especificado, similar a lo siguiente:

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Configurar sugerencias de Memcached

Esta sección cubrirá la configuración de Memcached editando el memcached.conf archivo. Analizaremos cómo ajustar la dirección IP de escucha, deshabilitar UDP y cambiar la asignación de memoria predeterminada.

Abra el archivo de configuración de Memcached

Abra el archivo de configuración de Memcached ubicado en /etc/memcached.conf usando un editor de texto, como nano:

sudo nano /etc/memcached.conf

Los usuarios que compilaron Memcached desde el código fuente deberán crearlo cuando lo abran por primera vez; el archivo estará en blanco en comparación con el método APT; Puedes copiar esto para comenzar a ajustar:

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Ajustar la dirección IP de escucha

De forma predeterminada, Memcached escucha la dirección IP 127.0.0.1. Verifique el parámetro -l en el archivo de configuración y asegúrese de que esté configurado en la dirección IP correcta. Si necesita modificar la dirección IP, reemplace 127.0.0.1 con la nueva dirección IP:

-l 127.0.0.1

Deshabilitar UDP (opcional)

Si no necesita soporte UDP, se recomienda desactivarlo. Para deshabilitar UDP, agregue la siguiente línea al archivo de configuración:

-U 0

Configurar la asignación de memoria

La asignación de memoria predeterminada para Memcached es 64 MB, lo que puede no ser suficiente para sitios web más grandes. Considere ajustar la asignación de memoria a un valor más alto para maximizar Memcached.

Para configurar la asignación de memoria, busque el -m parámetro en el archivo de configuración y reemplace el valor predeterminado con la cantidad deseada (en MB). Por ejemplo, para asignar 2 GB de memoria, establezca el valor en 2000:

-m 2000

Ajuste esta configuración según la memoria disponible y los requisitos de su servidor.

Guardar y reiniciar Memcached

Después de realizar los cambios necesarios, guarde el archivo de configuración presionando CTRL+O, seguido por Y, y luego CTRL+X para salir del editor de texto. Finalmente, reinicie el servicio Memcached para que los cambios surtan efecto:

sudo systemctl restart memcached

Ejemplos adicionales de configuración de Memcached

Además de las opciones de configuración tratadas anteriormente, existen otras configuraciones que puede ajustar para ajustar Memcached según sus requisitos. A continuación se muestran algunos ejemplos, junto con breves demostraciones:

Especificar el usuario y el grupo.

Memcached se ejecuta bajo un usuario y grupo específico especificado mediante el -u parámetro. Por ejemplo, para ejecutar Memcached como memcache usuario, agregue la siguiente línea al archivo de configuración:

-u memcache

Habilitar páginas de memoria grandes

Habilitar esta función puede mejorar el rendimiento si su sistema admite páginas de memoria grandes. Para habilitar páginas de memoria grandes, busque el -L parámetro y descomentarlo (elimine el # al principio de la línea):

-L

Configurar el tamaño máximo del artículo

Memcached tiene un tamaño máximo de elemento predeterminado de 1 MB. Para aumentar el tamaño máximo del elemento, utilice el -I parámetro seguido del tamaño deseado. Por ejemplo, para establecer el tamaño máximo del elemento en 5 MB, agregue la siguiente línea al archivo de configuración:

-I 5m

Establecer el número máximo de hilos

Memcached utiliza cuatro subprocesos de forma predeterminada. Puede utilizar el parámetro para aumentar o disminuir la cantidad de subprocesos según las capacidades y la carga de trabajo de su servidor. Por ejemplo, para establecer el número de subprocesos en 8, agregue la siguiente línea:

-t 8

Configurar el tiempo de espera de inactividad

Memcached cierra automáticamente las conexiones inactivas después de un cierto período de inactividad. Para modificar el tiempo de inactividad, utilice el -o parámetro seguido de idle_timeout y el número de segundos deseado. Por ejemplo, para establecer el tiempo de inactividad en 600 segundos (10 minutos), agregue la siguiente línea:

-o idle_timeout=600

Habilitar la autenticación SASL

Puede habilitar la compatibilidad con SASL (Capa de seguridad y autenticación simple) si necesita autenticación para acceder a su servidor Memcached. Para habilitar SASL, busque el -S parámetro y descomentarlo (elimine el # al principio de la línea):

-S

Recuerde reiniciar siempre el servicio Memcached después de realizar cambios en el archivo de configuración:

sudo systemctl restart memcached

Instalar cortafuegos UFW para Memcached

Para garantizar la seguridad de su instancia de Memcached, es fundamental configurar correctamente las reglas de su firewall. Esta sección cubrirá cómo instalar y configurar el cortafuegos sin complicaciones (UFW) para proteger su servidor Memcached.

Compruebe si UFW está instalado

Primero, verifiquemos si UFW ya está instalado en su sistema Debian:

sudo ufw --version

Si UFW está instalado, verá su número de versión en el resultado. Si no, tendrás que instalarlo.

Instale UFW en Debian para Memcached

Para instalar UFW en su sistema Debian, ejecute el siguiente comando:

sudo apt install ufw

Una vez completada la instalación, habilite UFW con el siguiente comando:

sudo ufw enable

Configurar reglas UFW para Memcached

Ahora que UFW está instalado y habilitado, debe crear reglas de permiso en el puerto TCP 11211. Las reglas que cree dependerán de su instalación y requisitos, ya sea que utilice una única conexión de red IP o trabaje con varias instancias en una red de clúster.

Ejemplo de conexión de red IP única

Permitir el acceso a Memcached desde una dirección IP específica:

sudo ufw allow proto tcp from <ip_address> to any port 11211

Ejemplo de conexión de red IP de clúster con múltiples instancias

Permitir el acceso a Memcached desde una subred de direcciones IP:

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Tenga en cuenta que la segunda regla UFW es una regla de subred. Asegúrese de que la red interna sea segura y confiable antes de permitir el acceso.

Paso 4: verificar las reglas de UFW

Después de configurar las reglas apropiadas, verifique que estén configuradas correctamente enumerando las reglas UFW actuales:

sudo ufw status

El resultado debe mostrar sus reglas configuradas, asegurando que su instancia de Memcached esté protegida con UFW.

Instalar bibliotecas Memcached

Memcached ofrece extensiones para varios lenguajes de programación, pero se usa más comúnmente con PHP. Esta sección lo guiará a través de la instalación de bibliotecas de Memcached para PHP, Python y Perl y la configuración de Memcached para servidores web Apache y Nginx.

Instalar bibliotecas PHP para Memcached

Para instalar la biblioteca PHP para Memcached, ejecute el siguiente comando:

sudo apt install php-memcached libapache2-mod-php php php-cli

Configurar Memcached para el servidor HTTP Apache

Si está utilizando el servidor HTTP Apache, habilite el módulo Memcached ejecutando el siguiente comando:

sudo phpenmod memcached && sudo systemctl restart apache2

Configurar Memcached para el servidor HTTP Nginx

La compatibilidad con Memcached se habilitará de forma predeterminada dentro de su bloque de configuración de PHP una vez que la biblioteca PHP esté instalada para los usuarios de Nginx.

A continuación se muestra un ejemplo simple de bloque de servidor nginx:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Instalar la biblioteca Python para Memcached

Para instalar la compatibilidad con Python para Memcached, ejecute el siguiente comando:

sudo apt install python3-pymemcache

Instalar la biblioteca Perl para Memcached

Para instalar la compatibilidad con Perl para Memcached, ejecute el siguiente comando:

sudo apt install libcache-memcached-libmemcached-perl

Acceda a Memcached desde la línea de comandos

Memcached se puede monitorear y administrar a través de varios software e interfaces de usuario web. Sin embargo, interactuar directamente con Memcached mediante la línea de comandos suele ser el método más sencillo para comprobar su rendimiento y gestionar su contenido.

Primero, conéctese a su servicio Memcached mediante telnet:

telnet localhost 11211

Salida de ejemplo:

Probando 127.0.0.1... Conectado a localhost. El carácter de escape es '^]'.

A continuación, puede obtener una descripción general de su servicio Memcached con el siguiente comando:

stats

Este comando devolverá varias estadísticas sobre su instancia de Memcached, como el tiempo de actividad, la cantidad de elementos en el caché y la cantidad de conexiones de clientes.

Puede refinar su análisis examinando losas de Memcached (particiones de memoria). Por ejemplo, puede enumerar las losas en la instancia conectada con:

stats slabs

Y obtenga una lista de losas, incluido un recuento de los elementos almacenados dentro de cada losa, usando:

stats items

Para acceder y manipular los datos almacenados en Memcached, puede utilizar el cachedump comando para enumerar las claves. Para enumerar todos los elementos en una losa específica, ejecute el siguiente comando:

stats cachedump [slab ID] [number of items, 0 for all items]

Por ejemplo:

stats cachedump 1 0

Salida de ejemplo:

Clave de prueba del ARTÍCULO [9 b; 1296857316 s] FIN

En este ejemplo, la losa 1 contiene un elemento con la clave "testkey". Para recuperar el valor de este artículo, utilice el get dominio:

get testkey

Salida de ejemplo:

VALOR clave de prueba 0 9 datos de prueba FINAL

Finalmente, para eliminar un elemento almacenado en caché, como "testkey", use el siguiente comando:

delete testkey

Salida de ejemplo:

BORRADO

Conclusión

En conclusión, instalar y configurar Memcached en Debian Linux puede mejorar significativamente el rendimiento de sus aplicaciones web al proporcionar un sistema de almacenamiento en caché rápido, eficiente y fácil de usar. Siguiendo los pasos descritos en esta guía, podrá configurar Memcached con éxito, configurarlo con su servidor web preferido y protegerlo mediante UFW. Con la configuración y administración adecuadas, Memcached puede volverse esencial para optimizar sus aplicaciones y brindar una mejor experiencia de usuario.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)

Deja un comentario