Memcached es un sistema de almacenamiento en caché distribuido de código abierto que permite a los usuarios almacenar y recuperar datos en caché de memoria RAM. Memcached funciona como una capa de caché entre las aplicaciones y las bases de datos, almacenando en caché los resultados de las consultas de bases de datos para que se puedan recuperar más rápidamente en el futuro. Creé este tutorial porque no hay información en español y en inglés existe información dispersa que me tocó recopilar.
Ahora sí, vamos a instalar para que tus sitios con php vuelen.
Paso 1: SSH
Accede via SSH a tu servidor. Es necesaria clave de administrador o PEM, pero si estás leyendo esto, es muy probable que ya la tengas.
Paso 2: memecached
Instala memecached via línea de comandos así como el paquete de desarrollo:
yum install memcached -y
yum install memcached-devel
Paso 3: dependencias
Ahora vamos a instalar las librerías, que también son necesarias:
yum install libmemcached-devel
yum install libmemcached
Paso 4: start
Arrancar el servicio:
systemctl start memcached
y verificar que todo esté bien:
systemctl status memcached
Te debería salir algo ACTIVE en algún lado, algo como esto: (si no está así, revisa que hiciste mal)
Paso 5 (solo si tienes CSF instalado)
Si tienes Config Server Firewall o cualquier otro firewall en el servidor, es vital que abras el puerto 11211 ya que ese es el puerto utilizado por memcached. Si no haces esto no van a servir el resto de pasos.
Para asegurarte que esté bien configurado, corre:
netstat -nltp | grep 11211
netstat -nltp | grep memcached
Y te debe salir algo como esto:
paso 6: Instalar la extensión memcached para php
DirectAdmin tiene scripts para instalar esto de manera muy ágil. Asegúrate de saber la versión de php con la cual quieres utilizar memcached y corre:
/usr/local/php81/bin/pecl install memcached
En mi caso instalé la versión para php 8.1
Nota importante: si al correr este comando, tienes un error que contiene “Checking for libmemcached location… configure: error: memcached support requires libmemcached” no entres en pánico, corre el siguiente comando:
yum install zlib-devel
y vuelve a correr el paso 6.
Paso 7. Instala extension=memcached.so en el php.ini
Busca dónde está tu archivo de configuración principal de php.ini con esta línea:
command php -i | grep php.ini
Una vez localizado el php.ini, edita el archivo (con vi como todo un guerrero) y agrega la siguiente línea al final:
extension=memcached.so
guarda el archivo.
Paso 8: reiniciar el php fpm
Reinicia el php fpm con la siguiente línea de comando:
systemctl reload php-fpm
si no funciona, prueba con esta (varía dependiendo de la versión de php)
systemctl restart php-fpm81.service
Paso 9: comprobar
Revisa que esté activo con esta línea:
/usr/local/php/bin/php -m | grep memcached
Nota: reemplaza <version> con la versión de php que aplique.
También puedes crear un archivo php que despliegue phpinfo() para comprobar que esté instalado:
Paso 10: utilízalo
Ahora que ya tienes instalado, tienes que ponerlo en uso. Si usas WordPress, puedes instalar el plugin gratuito LiteSpeed Caché. Debes activar la opción en la parte de caché de objetos. También te va a decir si está bien instalado el memcached.
Nota: creé este artículo para ayudar a los sysadmins que buscan esta información. No la encontré en español y en inglés no estaba consolidada. Espero le sirva a alguien.