Cómo instalar Memcached en Ubuntu 20.04 LTS

Optimice el rendimiento de su base de datos utilizando el servidor Memcached con sus aplicaciones PHP y Python

Si alguna vez ha sentido el dolor de una alta carga de la base de datos que causa la ralentización de sus aplicaciones web y se preguntó "¿Hay alguna manera de disminuir la latencia causada por las consultas de la base de datos?", Entonces la respuesta a esa pregunta es un gran sí. ¡Memcached, un amigable demonio de caché de memoria de vecindario, está aquí para resolver todos tus problemas! El almacenamiento en caché de la base de datos es uno de los métodos más simples para aliviar la carga de la base de datos y acelerar las aplicaciones web dinámicas.

Memcached se define a sí mismo como un sistema de almacenamiento en caché de objetos de memoria distribuida de alto rendimiento, de naturaleza genérica, pero originalmente diseñado para acelerar las aplicaciones web dinámicas al aliviar la carga de la base de datos. Desarrollado por Brad Fitzpatrick para su sitio web LiveJournal en 2003.

En este artículo, veremos cómo instalar y configurar Memcached en Ubuntu 20.04 y veremos sus clientes específicos de idioma.

Prerrequisitos

Un sistema instalado con Ubuntu 20.04 con un usuario con derechos administrativos, es decir sudo usuario.

Instalación

Memcached está disponible en el repositorio oficial de Ubuntu 20.04, además de Memcached también vamos a instalar una herramienta CLI conocida como libmemcached-tools para administrar Memcached. Simplemente ejecute el siguiente comando para instalar ambos

sudo apt install memcached libmemcached-tools

Verificar instalación

Una vez completada la instalación, el demonio Memcached se inicia en segundo plano por sí mismo. Para verificar la instalación, podemos usar un comando de libmemcached-tools paquete para obtener las estadísticas del servidor Memcached. O corre

memcstat --servidores localhost

o

memcstat --servidores 127.0.0.1

El memcstat El comando muestra las estadísticas del servidor en ejecución. El comando anterior dará como resultado la salida que se muestra a continuación.

Varias estadísticas como tiempo de actividad en segundos, versión y pid se mostrará como salida. Sin embargo, si no se muestra ningún resultado, es posible que Memcached no se esté ejecutando. Por lo tanto, debe ejecutar el siguiente comando para iniciar el servidor Memcached.

sudo systemctl start memcached

Para ejecutar el servidor Memcached al iniciar el sistema, use el siguiente comando.

sudo systemctl habilitar memcached

Configurar Memcached

Si tiene su Memcached instalado en el servidor del sitio web, no es necesario cambiar el archivo de configuración ya que Memcached está preconfigurado para funcionar con localhost.

Por otro lado, si ha instalado Memcached en un sistema separado, deberá cambiar la configuración para permitir que el servidor remoto acceda al servidor Memcached.

Configuración del acceso remoto para Memcached Server

Memcached es vulnerable a los ataques DDoS (Denegación de servicio distribuida). La regla de firewall incorrecta y los puertos UDP abiertos dejarán su servidor abierto y vulnerable a los ataques DDoS.

Para mitigar el riesgo, podemos deshabilitar el protocolo UDP para Memcached en la configuración o configurar el firewall solo para permitir servidores confiables.

Fuera de la caja, Ubuntu se envía sin puertos TCP o UDP abiertos. Además, el demonio de firewall ufw (Cortafuegos sencillo) no está habilitado de forma predeterminada.

Vamos a habilitar el firewall y configurar la configuración de Memcached para que podamos mitigar la vulnerabilidad DDoS.

Primero, habilite el ufw ejecutando el siguiente comando:

sudo systemctl habilitar ufw

Entonces inicia el ufw service ejecutando el siguiente comando:

sudo systemctl start ufw

Con el Firewall en ejecución, finalmente podemos configurar las reglas del firewall. En primer lugar, habilite el puerto 22 para permitir conexiones SSH. Se necesita SSH para acceder de forma remota al servidor deseado.

sudo ufw permitir 22

En segundo lugar, debe conocer la dirección IP del cliente, es decir, el host de la aplicación web y la dirección IP del servidor, es decir, el servidor Memcached.

En este caso, supongamos que la IP del cliente es 192.168.0.4 y la IP del servidor Memcached 192.168.0.5 en una red local.

Entonces, para permitir el acceso remoto del servidor memcached al servidor cliente, ejecute:

sudo ufw permite desde 192.168.0.4 a cualquier puerto 11211

Reemplace la 192.168.0.4 con su dirección IP de cliente deseada.

A continuación, edite el archivo de configuración de Memcached ubicado en /etc/memcached.conf mediante la ejecución nano mando.

sudo nano /etc/memcached.conf

El memcached.conf El archivo de configuración se abrirá con el editor nano, busque el -l 127.0.0.1 línea en la configuración y reemplazar 127.0.0.1 con su IP de Memcached Server o en esta instancia 192.168.0.5.

Después de reemplazar la prensa ctrl + o para escribir en el archivo de configuración y presione enter, presione ctrl + x para salir de nano.

Reinicie el servidor Memcached y ufw firewall ejecutando el siguiente comando.

sudo systemctl reiniciar memcached ufw

Ahora hemos terminado con la instalación y configuración del servidor Memcached en Ubuntu 20.04.

Conectarse al servidor Memcached

Para utilizar el servidor Memcached, deberá instalar un cliente específico del idioma. Afortunadamente, Memcached admite muchos idiomas populares.

Entonces veamos cómo instalar php y pitón cliente para Memcached.

PHP es el lenguaje de scripting del lado del servidor más popular y Memcached es utilizado principalmente por desarrolladores web para mejorar el rendimiento del servidor de aplicaciones web impulsadas por PHP.

Para instalar el soporte de memcached en php, correr:

sudo apt install php-memcached

Python también tiene varias bibliotecas que pueden funcionar e interactuar con el servidor Memcached, como pymemcached o python-memcached.

Puede instalar memcached para python ejecutando los siguientes comandos pip:

pip instalar pymemcache
pip instalar python-memcached

En conclusión, hemos analizado la instalación, la configuración y algunos clientes específicos de idioma de Memcached en Ubuntu 20.04.

Para conocer el uso más detallado y avanzado de Memcached, eche un vistazo a Memcached Wiki.