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:
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:
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:
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.