Memcached és un sistema d'emmagatzematge en memòria cau distribuït, gratuït, de codi obert i d'alt rendiment, utilitzat per accelerar llocs web dinàmics emmagatzemant dades a la RAM. Memcached també proporciona una biblioteca per a diferents llenguatges de programació, inclosos PHP, Perl, Ruby i Python. És l'únic sistema d'emmagatzematge en memòria cau disponible de manera gratuïta i utilitzat per moltes organitzacions, incloses YouTube, Facebook, Twitter, Reddit, Drupal i Zynga.
En aquest tutorial, t'ensenyarem com instal·lar i configurar Memcached en un servidor al núvol CentOS 7.
Requisits
- Un servidor al núvol que funcioni amb CentOS 7 i amb PHP i Apache instal·lats.
- Una contrasenya de root configurada al teu servidor vps al núvol.
Comencem
Per defecte, SELinux està configurat al servidor al núvol CentOS 8. Per tant, primer hauràs de desconfigurar-lo.
Pots fer-ho editant el fitxer /etc/selinux/config:
# nano /etc/selinux/config
Canvia la línia següent:
SELINUX=disabled
Desa i tanca el fitxer. Després, reinicia el teu servidor al núvol per aplicar els canvis.
Instal·la Memcached
Per defecte, Memcached està disponible al repositori per defecte de CentOS 7. Pots instal·lar-lo executant l'ordre següent:
# yum install memcached -y
Un cop Memcached estigui instal·lat, inicia el servei Memcached i habilita'l perquè s'iniciï després d'un reinici del sistema amb l'ordre següent:
# systemctl start memcached
# systemctl enable memcached
Ara pots comprovar l'estat de Memcached amb l'ordre següent:
# systemctl status memcached
Hauries de veure la sortida següent:
● memcached.service - Memcached
Loaded: loaded (/usr/lib/systemd/system/memcached.service; disabled; vendor preset:
disabled)
Active: active (running) since Sat 2019-11-09 00:09:32 EST; 4s ago
Main PID: 3450 (memcached)
CGroup: /system.slice/memcached.service
└─3450 /usr/bin/memcached -u memcached -p 11211 -m 64 -c 1024
Nov 09 00:09:32 localhost.localdomain systemd[1]: Started Memcached.
Configura Memcached
Per defecte, Memcached està configurat per escoltar al port 11211 a tota la interfície. Es recomana configurar-lo per escoltar només a la interfície local (127.0.0.1). Això protegirà el teu servidor dels atacs de denegació. Pots fer-ho editant el fitxer de configuració de Memcached /etc/sysconfig/memcached:
# nano /etc/sysconfig/memcached
Fes els canvis següents:
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"
Desa i tanca el fitxer quan hagis acabat. Aleshores, reinicia el servei Memcaches per aplicar els canvis de configuració:
# systemctl restart memcached
Ara pots comprovar la interfície d'escolta de Memcached amb l'ordre següent:
# netstat -tulpn | grep :11211
Hauries de veure el resultat següent:
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 3598/memcached
udp 0 0 127.0.0.1:11211 0.0.0.0:* 3598/memcached
També pots comprovar l'estat del servidor Memcached amb l'ordre següent:
# memcached-tool 127.0.0.1 stats
Instal·la l'extensió PHP Memcached
Si vols utilitzar Memcached com una base de dades de memòria cau per a aplicacions basades en PHP, hauràs d'instal·lar l'extensió Memcached PHP al teu servidor. Pots fer-ho amb l'ordre següent:
# yum install php-pecl-memcache -y
Un cop instal·lada, reinicia el servei web d'Apache per aplicar els canvis:
# systemctl restart httpd
Prova l'extensió Memcached PHP
Per provar l'extensió PHP Memcached, crea un fitxer info.php al directori arrel web d'Apache:
# nano /var/www/html/info.php
Afegeix les línies següents:
<?php
phpinfo();
?>
Desa i tanca el fitxer quan hagis acabat.
Després, crea un fitxer d'amfitrió virtual d'Apache amb l'ordre següent:
# nano /etc/httpd/conf.d/memcache.conf
Afegeix les línies següents:
ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/html/
ServerName yourdomain.com
DirectoryIndex info.php
Options FollowSymLinks
AllowOverride All
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common
Desa i tanca el fitxer quan hagis acabat. Després, reinicia el servei d'Apache per aplicar els canvis:
# systemctl restart httpd
A continuació, obre el teu navegador web i escriu l'URL http;//tu dominio.com. Hauries de veure la pantalla següent:
La pàgina de més amunt indica que Memcached s'ha instal·lat amb suport per a PHP.
Conclusió
Amb aquest tutorial, has après com instal·lar Memcached en un servidor CentOS 7. Ara ja pots emmagatzemar fàcilment en memòria cau la teva aplicació basada en PHP amb Memcached.