Cómo instalar Memcached en Ubuntu 22.04



Memcached es un sistema de elegancia de memoria distribuido, sin cargo, de código campechano y de propósito caudillo, que se utiliza para juntar en elegancia datos de bases de datos. Es un sistema de elegancia en memoria de stop rendimiento que se utiliza para acelerar las aplicaciones web dinámicas reduciendo la carga de la colchoneta de datos. Memcached está formado por cuatro componentes que permiten al cliente y al servidor trabajar juntos para entregar los datos almacenados en elegancia de la forma más competente posible. Ofrece integración API para los principales lenguajes como PHP, Java, C/C++, Python, Ruby, Perl, etc.

Este tutorial te mostrará cómo instalar el servidor Memcached en un servidor Ubuntu 22.04 y cómo utilizarlo con PHP.

Requisitos

  • Un servidor que ejecute Ubuntu 22.04.
  • Una contraseña de root configurada en tu servidor.

Instalar Memcached en Ubuntu 22.04

Por defecto, el paquete Memcached está incluido en el repositorio por defecto de Ubuntu. Puedes instalarlo fácilmente utilizando el ulterior comando:

apt install memcached libmemcached-tools -y

Una vez instalado Memcached, inicia el servicio Memcached utilizando el ulterior comando:

systemctl start memcached

Puedes comprobar el estado del Memcached con el ulterior comando:

systemctl status memcached

Deberías obtener la ulterior salida:

? memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-18 13:09:47 UTC; 29s ago
       Docs: man:memcached(1)
   Main PID: 5525 (memcached)
      Tasks: 10 (limit: 2242)
     Memory: 1.7M
        CPU: 71ms
     CGroup: /system.slice/memcached.service
             ??5525 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Oct 18 13:09:47 ubuntu2204 systemd[1]: Started memcached daemon.

Para efectuar la lectura de Memcached, ejecuta el ulterior comando:

memcached -V

Obtendrás la ulterior salida:

memcached 1.6.14

Por defecto, Memcached audición en el puerto 11211. Puedes comprobarlo con el ulterior comando:

ss -plunt | grep memcache

Deberías ver la ulterior salida:

tcp   LISTEN 0      1024                        127.0.0.1:11211      0.0.0.0:*    users:(("memcached",pid=5525,fd=22)) 

Instalar la extensión Memcached de PHP

Para utilizar Memcached con aplicaciones basadas en PHP. Necesitarás instalar la extensión Memcached de PHP en tu servidor. Puedes instalarla con Apache utilizando el ulterior comando:

apt install apache2 php libapache2-mod-php php-memcached php-cli -y

A continuación, crea una página PHP de prueba de ejemplo para efectuar el Memcached:

nano /var/www/html/info.php

Añade el ulterior código:

<?php
phpinfo();

Vigilante y cierra el archivo y reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

A continuación, abre tu navegador y accede a la página PHP utilizando la URL http://your-server-ip/info.php. Deberías ver el Memcached en la ulterior pantalla:

PHP Memcached

A continuación, crea otra página PHP de prueba para efectuar si el Memcached funciona o no.

nano /var/www/html/test.php

Añade el ulterior código:

<?php

try

{
$memcached = new Memcached();
$memcached->addServer("127.0.0.1", 11211); 
$response = $memcached->get("key_cache");

if($response==true) 
{
echo "Result coming from caching";
echo $response;
}

else

{
echo "Cache is not created yet, reload again to see changes";
$memcached->set("key_cache", "Hooray! Memcache is working now ...") ;
}
}
catch (exception $e)
{
echo $e->getMessage();
}
?>

Vigilante y cierra el archivo y, a continuación, abre tu navegador web y accede a la página PHP de prueba utilizando la URL http://your-server-ip/test.php. Deberías ver la ulterior pantalla:

Prueba PHP memcached

A continuación, vuelve a cargar la página. Esta vez la página se cargará desde la memoria elegancia como se muestra a continuación:

Resultado PHP de memcahed

Asegura Memcached con Autenticación

Se recomienda utilizar Simple Authentication and Security Layer (SASL) para apoyar Memcached con autenticación basada en adjudicatario. Para ello, deberás instalar el paquete sasl2-bin en tu servidor.

apt install sasl2-bin

A continuación, crea un directorio y un archivo de configuración para la autenticación SASL:

mkdir -p /etc/sasl2
nano /etc/sasl2/memcached.conf

Añade las siguientes líneas:

log_level: 5
mech_list: plain
sasldb_path: /etc/sasl2/memcached-sasldb2

Vigilante y cierra el archivo y, a continuación, crea una colchoneta de datos SASL con las credenciales de adjudicatario:

saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1

Establece tu contraseña como se muestra a continuación:

Password: 
Again (for verification): 

A continuación, cambia la propiedad de la colchoneta de datos Memcached:

chown memcache:memcache /etc/sasl2/memcached-sasldb2

A continuación, verifica el Memcached utilizando el ulterior comando:

memcstat --servers="127.0.0.1"

Deberías obtener la ulterior salida:

Server: 127.0.0.1 (11211)
	 pid: 5525
	 uptime: 462
	 time: 1666099048
	 version: 1.6.14
	 libevent: 2.1.12-stable
	 pointer_size: 64
	 rusage_user: 0.110123
	 rusage_system: 0.093906
	 max_connections: 1024
	 curr_connections: 1
	 total_connections: 4
	 rejected_connections: 0
	 connection_structures: 2
	 response_obj_oom: 0
	 response_obj_count: 1
	 response_obj_bytes: 49152
	 read_buf_count: 6
	 read_buf_bytes: 98304
	 read_buf_bytes_free: 32768
	 read_buf_oom: 0
	 reserved_fds: 20
	 cmd_get: 2
	 cmd_set: 1
	 cmd_flush: 0
	 cmd_touch: 0
	 cmd_meta: 0
	 get_hits: 1
	 get_misses: 1
	 get_expired: 0
	 get_flushed: 0
	 delete_misses: 0

A continuación, edita el archivo de configuración de Memcached:

nano /etc/memcached.conf

Añade las siguientes líneas:

-S
-vv

Vigilante y cierra el archivo y reinicia el servicio Memcached para aplicar los cambios:

systemctl restart memcached

A continuación, verifica la compatibilidad con SASL utilizando el ulterior comando:

journalctl -u memcached |grep SASL

Si todo va proporcionadamente, obtendrás la ulterior salida:

Journal file /var/log/journal/d97e195db6584d63aeedfdc35dc83c7f/user-1000.journal is truncated, ignoring file.
Oct 18 13:18:19 ubuntu2204 systemd-memcached-wrapper[14980]: Initialized SASL.

Demostrar la autenticación de Memcached

Primero, intenta comprobar de nuevo la conectividad con Memcached sin autenticación:

memcstat --servers="127.0.0.1"

El comando no debería producir salida. Escribe el ulterior comando shell para comprobar su estado:

echo $?

Deberías acoger el ulterior código de estado significa que el comando memcstat ha fallado.

1

A continuación, ejecuta de nuevo el comando Memcached especificando el nombre de adjudicatario y la contraseña:

memcstat --servers="127.0.0.1" --username=user1 --password=password

Obtendrás la ulterior salida:

Server: 127.0.0.1 (11211)
	 pid: 14980
	 uptime: 46
	 time: 1666099143
	 version: 1.6.14
	 libevent: 2.1.12-stable
	 pointer_size: 64
	 rusage_user: 0.077843
	 rusage_system: 0.049072
	 max_connections: 1024
	 curr_connections: 1
	 total_connections: 3
	 rejected_connections: 0
	 connection_structures: 2
	 response_obj_oom: 0
	 response_obj_count: 1
	 response_obj_bytes: 16384
	 read_buf_count: 3
	 read_buf_bytes: 49152
	 read_buf_bytes_free: 16384
	 read_buf_oom: 0

Instalar Memcached para Python

Si quieres integrar Memcached con aplicaciones web basadas en Python, tendrás que instalar la extensión Memcached para Python. Puedes instalarla con el ulterior comando:

apt install python3-pip
pip install pymemcache
pip install python-memcached

Conclusión

En este post, hemos explicado cómo instalar el servidor Memcached en Ubuntu 22.04. Igualmente hemos explicado cómo apoyar Memcached con autenticación basada en SASL. Espero que ahora puedas integrar Memcached en tu aplicación para acelerar el rendimiento de la misma. No dudes en preguntarme si tienes alguna duda.