Memcached installeren op Ubuntu 20.04 LTS

Optimaliseer uw databaseprestaties door de Memcached-server te gebruiken met uw PHP- en Python-apps

Als je ooit de pijn hebt gevoeld van een hoge databasebelasting die de vertragingen in je web-apps veroorzaakte en je je afvroeg: "Is er een manier om de latentie veroorzaakt door DB-query's te verminderen?", dan is het antwoord op die vraag een groot ja. Memcached een vriendelijke geheugencache-daemon voor de buurt is hier om al je problemen op te lossen! Het cachen van de DB is een van de eenvoudigste methoden om de belasting van de DB te verlichten en de dynamische webtoepassingen te versnellen.

Memcached definieert zichzelf als een krachtig, gedistribueerd cachesysteem voor geheugenobjecten, generiek van aard, maar oorspronkelijk bedoeld voor gebruik bij het versnellen van dynamische webapplicaties door de databasebelasting te verlichten. Ontwikkeld door Brad Fitzpatrick voor zijn website LiveJournal in 2003.

In dit artikel zullen we bekijken hoe u Memcached in Ubuntu 20.04 kunt installeren en configureren en kijken naar de taalspecifieke clients.

Vereisten

Een systeem geïnstalleerd met Ubuntu 20.04 met een gebruiker met beheerdersrechten, dat wil zeggen: sudo gebruiker.

Installatie

Memcached is beschikbaar op de officiële Ubuntu 20.04-repository, naast Memcached gaan we ook een CLI-tool installeren die bekend staat als libmemcached-tools om Memcached te beheren. Voer gewoon de volgende opdracht uit om beide te installeren:

sudo apt installeer memcached libmemcached-tools

Installatie verifiëren

Nadat de installatie is voltooid, start de Memcached-daemon vanzelf op de achtergrond. Om de installatie te verifiëren, kunnen we een commando gebruiken van libmemcached-tools pakket om Memcached-serverstatistieken te krijgen. Ofwel rennen

memcstat --servers localhost

of

memcstat --servers 127.0.0.1

De memcstat commando toont de statistieken van de actieve server. Het bovenstaande commando zal resulteren in de output die hieronder wordt weergegeven.

Verschillende statistieken zoals: uptime in seconden, versie en pid wordt weergegeven als uitvoer. Als er echter geen uitvoer wordt weergegeven, is het mogelijk dat Memcached niet actief is. Daarom moet u de volgende opdracht uitvoeren om de Memcached-server te starten.

sudo systemctl start memcached

Gebruik de volgende opdracht om de Memcached-server uit te voeren bij het opstarten van het systeem.

sudo systemctl memcached inschakelen

Geheugencache configureren

Als u uw memcached op de websiteserver zelf hebt geïnstalleerd, hoeft u het configuratiebestand niet te wijzigen, aangezien memcached vooraf is geconfigureerd om met localhost te werken.

Aan de andere kant, als je Memcached op een apart systeem hebt geïnstalleerd, moet je de configuratie wijzigen om de externe server toegang te geven tot de Memcached-server.

Externe toegang instellen voor Memcached Server

Memcached is kwetsbaar voor DDoS-aanvallen (Distributed Denial of Service). Door een onjuiste firewallregel en open UDP-poorten blijft uw server open en kwetsbaar voor DDoS-aanvallen.

Om het risico te verkleinen, kunnen we het UDP-protocol voor Memcached in de configuratie uitschakelen of een firewall instellen om alleen vertrouwde servers toe te staan.

Uit de doos wordt Ubuntu geleverd zonder geopende TCP- of UDP-poorten. Verder is de firewall-daemon ufw (ongecompliceerde firewall) is standaard niet ingeschakeld.

We gaan de firewall inschakelen en de Memcached-configuratie instellen zodat we de DDoS-kwetsbaarheid kunnen verkleinen.

Schakel eerst de ufw door het volgende commando uit te voeren:

sudo systemctl inschakelen ufw

Start dan de ufw service door de onderstaande opdracht uit te voeren:

sudo systemctl start ufw

Nu de firewall actief is, kunnen we eindelijk de firewallregels instellen. Schakel eerst poort 22 in om SSH-verbindingen toe te staan. SSH is nodig om op afstand toegang te krijgen tot de gewenste server.

sudo ufw toestaan ​​22

Ten tweede moet u het IP-adres van de client weten, dat wil zeggen de host van de webtoepassing en het IP-adres van de server, dat wil zeggen de Memcached-server.

Laten we in dit geval aannemen dat het IP-adres van de klant is: 192.168.0.4 en Memcached server IP te zijn 192.168.0.5 op een lokaal netwerk.

Dus om externe toegang van de memcached-server tot de clientserver toe te staan, voer je uit:

sudo ufw toestaan ​​van 192.168.0.4 naar elke poort 11211

Vervang de 192.168.0.4 met uw gewenste Client IP-adres.

Bewerk vervolgens het Memcached-configuratiebestand op /etc/memcached.conf door rennen nano opdracht.

sudo nano /etc/memcached.conf

De memcached.conf configuratiebestand wordt geopend met de nano-editor, zoek naar de -l 127.0.0.1 regel in de configuratie en vervang 127.0.0.1 met uw Memcached Server IP of in dit geval 192.168.0.5.

Na het vervangen van de pers ctrl+o om naar het configuratiebestand te schrijven en op enter te drukken, drukt u op ctrl+x om nano te verlaten.

Start de Memcached-server opnieuw en ufw firewall door de onderstaande opdracht uit te voeren.

sudo systemctl herstart memcached ufw

Nu zijn we klaar met de installatie en configuratie van de Memcached-server op Ubuntu 20.04.

Verbinding maken met Memcached-server

Om de Memcached-server te gebruiken, moet u een taalspecifieke client installeren. Gelukkig heeft Memcached ondersteuning voor veel populaire talen.

Dus laten we eens kijken hoe te installeren php en Python client voor Memcached.

PHP is de meest populaire server-side scripttaal en Memcached wordt meestal gebruikt door webontwikkelaars om de serverprestaties van web-apps aangedreven door PHP te verbeteren.

Om memcached-ondersteuning in php te installeren, loop:

sudo apt install php-memcached

Python heeft ook verschillende bibliotheken die kunnen werken en communiceren met de Memcached-server, zoals: pymemcached of python-memcached.

U kunt memcached voor python installeren door de volgende pip-opdrachten uit te voeren:

pip installeer pymemcache
pip installeer python-memcached

Tot slot hebben we gekeken naar de installatie, configuratie en enkele taalspecifieke clients van Memcached in Ubuntu 20.04.

Om meer te weten te komen over het precieze en geavanceerde gebruik van Memcached, kijk eens naar Memcached Wiki.