Memcached es un almacén de datos de valor-clave en memoria de alto rendimiento, gratuito y de código abierto. Se utiliza comúnmente para acelerar las aplicaciones almacenando en caché varios objetos de los resultados de las llamadas a la base de datos.
En este tutorial, cubriremos el proceso de instalación y configuración de la última versión de Memcached en Debian 10.
Si su intención es instalar Memcached en un servidor remoto, siga leyendo, de lo contrario, si desea instalar Memcached en su computadora local, omita el primer párrafo "Conectando al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Prerrequisitos
Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalar Memcached
Los paquetes memcached se incluyen en los repositorios predeterminados de Debian 10. La instalación es bastante simple, solo siga los pasos a continuación:
Comience actualizando la lista de paquetes de apt:
sudo apt update
Instale Memcached escribiendo:
sudo apt install memcached libmemcached-tools
El libmemcached-tools
contiene varias herramientas de línea de comandos para administrar el servidor Memcached.
Una vez que se complete la instalación, el servicio Memcached se iniciará automáticamente. Para verificar el estado del servicio, ingrese el siguiente comando:
sudo systemctl status memcached
La salida se verá así:
● memcached.service - memcached daemon
Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-03-11 12:04:22 PDT; 32s ago
Docs: man:memcached(1)
Main PID: 10423 (memcached)
Tasks: 10 (limit: 2319)
CGroup: /system.slice/memcached.service
`-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
Eso es todo, en este punto tiene Memcached instalado y ejecutándose en su servidor Debian 10.
Configuración de Memcached
Memcached se puede configurar editando el archivo /etc/memcached.conf
Los valores de configuración predeterminados son suficientes para la mayoría de los usuarios.
De forma predeterminada, Memcached está configurado para escuchar solo en localhost. Si el cliente que se conecta al servidor también se ejecuta en el mismo host, no es necesario cambiar el archivo de configuración predeterminado.
Acceso remoto
Si se configura incorrectamente, Memcached se puede utilizar para realizar un ataque de denegación de servicio distribuido (DDoS). Si desea permitir el acceso remoto al servidor Memcached, debe configurar el firewall y permitir el acceso al puerto UDP 11211 de Memcached solo desde clientes confiables.
El siguiente ejemplo asume que desea conectarse al servidor Memcached a través de una red privada. La IP del servidor es 192.168.111.11
y la dirección IP del cliente es 192.168.222.22
Debian no viene con una herramienta de configuración de firewall llamada UFW.
Para facilitar la configuración del Firewall en Debian, recomendamos instalar UFW que permite una configuración inicial simple:
sudo apt install ufw
De forma predeterminada, UFW está instalado pero no habilitado. Antes de habilitar el firewall UFW, agregue una regla que permita conexiones SSH entrantes (si está utilizando el puerto estándar para la conexión ssh):
sudo ufw allow 22
Permitir la evaluación desde la dirección IP del cliente remoto:
sudo ufw allow from 192.168.222.22 to any port 11211
Habilite UFW escribiendo:
sudo ufw status
Una vez configurado el firewall, el siguiente paso es modificar la configuración de Memcached y configurar el servicio Memcached para que escuche en la interfaz de red privada del servidor:
Para hacer esto, abra el archivo de configuración memcached.conf
sudo nano /etc/memcached.conf
Busque la línea que comienza con -l 127.0.0.1
y reemplace 127.0.0.1
con la dirección IP del servidor 192.168.111.11
.
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.111.11
Reinicie el servicio Memcached para que los cambios surtan efecto:
sudo systemctl restart memcached
Ahora puede conectarse al servidor Memcached desde su ubicación remota.
Conectarse a Memcached
Se debe utilizar un cliente específico del idioma para conectarse al servidor Memcached.
PHP
Para usar Memcached como base de datos de almacenamiento en caché para aplicaciones PHP como WordPress, Drupal, Joomla o Magento, debe instalar la extensión php-memcached
sudo apt install php-memcached
Pitón
Hay varias bibliotecas de Python para interactuar con Memcache. Puede instalar su biblioteca favorita usando pip:
pip install pymemcache
pip install python-memcached
Conclusión
Aprendió a instalar Memcached en su servidor Debian. Para obtener más información sobre este tema, consulte Memcached Wiki.