Memcached es un servidor de caché de código abierto de alto rendimiento para un fácil almacenamiento y recuperación de datos de la memoria principal. Memcached se usa a menudo en conexión con aplicaciones web para mejorar su rendimiento al probar la caché de objetos. En la configuración estándar, Memcached escucha en el puerto 11211/TCP y (hasta la versión 1.5.5 inclusive) adicionalmente en el puerto 11211/UDP.
Aquí aprenderemos los pasos para instalar y configurar el servidor Memcached en CentOS 8.
Instalación de MemCached en CentOS 8 Linux
Si está ejecutando WordPress o cualquier otro sitio web en Cpanel con CentOS, la instalación de Memcache en su servidor mejorará el rendimiento general del sitio.
Requisitos :
- Un acceso de usuario root.
- Servidor CentOS 6/7/8
- conexión a Internet en funcionamiento.
1. Instalar servidor Memcached
En CentOS 8 o en las versiones anteriores CentOS 7 y 6 no necesitamos instalar ningún repositorio de terceros. Está disponible en el oficial. Por lo tanto, acceda a la terminal de su servidor y ejecute un comando:
yum install memcached libmemcached
En el comando anterior, estamos instalando dos paquetes, uno es un sistema de caché y el otro es una biblioteca para tener un conjunto de herramientas para administrar el servidor Memcached instalado.
2. Editar archivo de configuración
Después de la instalación exitosa, editemos la configuración para aumentar o disminuir el tamaño de acumulación de caché. De manera predeterminada, será de 64 MB y, según sus requisitos, como 256 MB, 512 MB o 1 GB.
vi /etc/sysconfig/memcached
Encontrará las siguientes líneas o las agregará.
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="-l 127.0.0.1,::1"
Para editar el archivo presione el botón “INSERTAR tecla ” en el teclado.
port=Es el número de puerto predeterminado que usará Memcache.
maxconn=Conexión máxima para este sistema de caché
Caché Size=Cantidad de caché generada antes de alcanzar el umbral
Opciones=Para declarar parámetros adicionales para el caché, que usaremos en el siguiente paso.
3. Vincular Memcache a una dirección IP específica (opcional)
Bueno, si Memcache no es seguro correctamente, podría convertirse en un host para iniciar los ataques DDOS. Esa es la razón por la que Digital Ocean ha bloqueado permanentemente el número de puerto 112211 en sus servidores.
Por lo tanto, asumo que está ejecutando Memcache en el mismo servidor o red en el que se encuentran otras aplicaciones, como el servidor web.
Nota :Ahora, el enlace predeterminado del servidor al localhost, en caso de que no, hágalo manualmente.
Por ejemplo , en Cpanel o alojamiento VPS donde un solo servidor solía alojar tanto Memcache como el servidor Apache, luego simplemente agregue la siguiente línea para vincular el servidor para escuchar localhost solo como valor de OPCIONES:
-l 127.0.0.1
así será así:
OPTIONS="-l 127.0.0.1"
(opcional ) En caso de que desee acceder al sistema de caché dentro de la misma red privada, vincúlese a un rango de la dirección IP local. Por ejemplo, suponga que la dirección del servidor de caché es 10.0.0.14
y luego clientes en 10.0.0.x.
solo podría conectarse con él.
Además, para vincularlo solo a la interfaz de bucle invertido local y rechazar todas las demás conexiones remotas, agregue también:
-U 0
Por lo tanto, la sintaxis completa será así:
OPTIONS="-l 127.0.0.1 -U 0"
Para guardar el archivo de configuración presione ESC
clave y el tipo :wq
y activa el botón Enter.
4. Habilitar e iniciar el servicio
La configuración está lista, ahora habilitemos el servidor Memcache en el arranque e iniciémoslo. Entonces, podría comenzar a almacenar cosas en caché.
systemctl enable memcached
systemctl start memcached
Para versiones anteriores como CentOS 6/5, use el comando de servicio:
service memcached enable
service memcached start
En caso de que quiera detenerse:
service memcached stop
Para reiniciar/iniciar/detener también puede usar:
etc/init.d/memcached restart
5. Comprobar el estado de ejecución de Memcached
Para confirmar que el servicio se está ejecutando sin ningún error, verifique el estado de este sistema de caché.
sudo systemctl status memcached
o
service memcached status
6. Confirme que Cache está escuchando el puerto local
Aquí estamos usando una herramienta para verificar que el host local esté listado en 11211 correctamente, esto dará como resultado todos los valores de configuración:
memcached-tool 127.0.0.1:11211 stats
7. Permitir el servicio de caché a través de Firewall
De forma predeterminada, el puerto de servicio no está en la lista blanca del cortafuegos para permitirnos conectarnos fuera de la solicitud del cliente, por lo que debemos permitirlo.
En CentOS 8 FirewallD es el servicio de firewall predeterminado:
sudo firewall-cmd –zone=memcached –add-port=11211/tcp –permanente
Para el sistema operativo anterior que usa solo tablas de IP, use este:
iptables -A INPUT -i eth0 -p tcp --dport 11211-j ACCEPT
8. Instale la extensión PHP Memcache
Entonces, nuestro servidor de caché está en funcionamiento, pero para usarlo con PHP, de modo que pueda almacenar en caché la base de datos de aplicaciones PHP como WordPress, Joomla, etc. Necesitamos habilitar una extensión para él.
dnf install php php-pecl-memcache
El comando anterior instalará el módulo, sin embargo, en caso de que obtenga un error:
No match for argument: php-pecl-memcache Error: Unable to find a match
Eso significa que el paquete no está disponible en el repositorio oficial, por lo tanto, en lugar de agregar otro repositorio para tener las herramientas, construyamos usando el PECL.
dnf install zlib zlib-devel make
dnf install php php-devel php-pear
Finalmente, ejecuta:
pecl install memcache
9. Habilite la extensión=memcache.so
El módulo PHP para el sistema de caché ahora está en nuestro servidor, es hora de agregarlo al archivo php.ini. En lugar de abrir y editar, aquí hay un atajo. Use este único comando para agregar la extensión como un archivo .ini adicional en el directorio de extensiones php.d.
echo "extension=memcache.so" >> /etc/php.d/memcache.ini
Reiniciar Apache
#Sobre CentOS 8 o 7
systemctl restart httpd
#Si estás en CentOS 6/5
service httpd restart
10. Compruebe si el soporte está habilitado o no
Para confirmar el soporte de la extensión de PHP ejecute el siguiente comando:
php -i | grep memcach
Salida: