memcached-directadmin-centos

Como instalar memcached en un servidor con CentOS y directAdmin

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.

  • Share: