Jak nainstalovat Memcached na Ubuntu 20.04 LTS

Optimalizujte výkon své databáze pomocí serveru Memcached s aplikacemi PHP a Python

Pokud jste někdy pociťovali bolest z vysokého zatížení databáze způsobující zpomalení vašich webových aplikací a přemýšleli jste: „Existuje způsob, jak snížit latenci způsobenou dotazy DB?“, pak odpověď na tuto otázku je velké ano. Přátelský démon paměti cache Memcached je tu, aby vyřešil všechny vaše strasti! Ukládání databáze do mezipaměti je jednou z nejjednodušších metod, jak zmírnit zatížení databáze a zrychlit dynamické webové aplikace.

Memcached se definuje jako vysoce výkonný systém pro ukládání objektů do mezipaměti s distribuovanou pamětí, obecný ve své podstatě, ale původně určený pro použití při zrychlení dynamických webových aplikací zmírněním zatížení databáze. Vyvinutý Bradem Fitzpatrickem pro svůj web LiveJournal v roce 2003.

V tomto článku se podíváme na to, jak nainstalovat a nakonfigurovat Memcached v Ubuntu 20.04 a podíváme se na jeho klienty specifické pro daný jazyk.

Předpoklady

Systém nainstalovaný s Ubuntu 20.04 s uživatelem s právy správce, tj sudo uživatel.

Instalace

Memcached je k dispozici na oficiálním úložišti Ubuntu 20.04, kromě Memcached se také chystáme nainstalovat nástroj CLI známý jako libmemcached-tools ke správě Memcached. Pro instalaci obou stačí spustit následující příkaz

sudo apt install memcached libmemcached-tools

Ověřte instalaci

Po dokončení instalace se démon Memcached spustí na pozadí sám. Pro ověření instalace můžeme použít příkaz from libmemcached-tools balíček pro získání statistik serveru Memcached. Buď běžet

memcstat --servers localhost

nebo

memcstat --servery 127.0.0.1

The memcstat příkaz zobrazuje statistiky běžícího serveru. Výše uvedený příkaz bude mít za následek výstup zobrazený níže.

Různé statistiky jako např doba provozuschopnosti v sekundách, verze a pid se zobrazí jako výstup. Pokud se však nezobrazí žádný výstup, je možné, že Memcached neběží. Proto musíte spustit následující příkaz ke spuštění serveru Memcached.

sudo systemctl spusťte memcached

Chcete-li spustit server Memcached při spuštění systému, použijte následující příkaz.

sudo systemctl povolit memcached

Konfigurace Memcached

Pokud máte svůj memcached nainstalovaný na samotném webovém serveru, není třeba měnit konfigurační soubor, protože memcached je předkonfigurován pro práci s localhostem.

Na druhou stranu, pokud jste nainstalovali Memcached na samostatný systém, budete muset změnit konfiguraci, abyste umožnili vzdálenému serveru přístup k serveru Memcached.

Nastavení vzdáleného přístupu pro server Memcached

Memcached je zranitelný vůči útokům DDoS (Distributed Denial of Service). Nesprávné pravidlo brány firewall a otevřené porty UDP ponechají váš server otevřený a zranitelný vůči útokům DDoS.

Ke zmírnění rizika můžeme buď zakázat protokol UDP pro Memcached v konfiguraci, nebo nastavit firewall pouze tak, aby povoloval důvěryhodné servery.

Po vybalení se Ubuntu dodává bez otevřených portů TCP nebo UDP. Dále démon brány firewall ufw (nekomplikovaná brána firewall) není ve výchozím nastavení povolena.

Povolíme firewall a nastavíme konfiguraci Memcached, abychom mohli zmírnit zranitelnost DDoS.

Nejprve povolte ufw spuštěním následujícího příkazu:

sudo systemctl povolit ufw

Poté spusťte ufw službu spuštěním níže uvedeného příkazu:

sudo systemctl start ufw

Se spuštěným Firewallem můžeme konečně nastavit pravidla firewallu. Nejprve povolte port 22, abyste povolili připojení SSH. SSH je potřeba pro vzdálený přístup k požadovanému serveru.

sudo ufw allow 22

Za druhé, potřebujete znát IP adresu klienta, tedy hostitele webové aplikace a IP adresu serveru, tedy serveru Memcached.

V tomto případě předpokládejme, že IP klienta je 192.168.0.4 a IP serveru Memcached 192.168.0.5 na místní síti.

Chcete-li tedy povolit vzdálený přístup serveru memcached ke klientskému serveru, spusťte:

sudo ufw povolit z 192.168.0.4 na libovolný port 11211

Nahradit 192.168.0.4 s požadovanou IP adresou klienta.

Dále upravte konfigurační soubor Memcached umístěný na /etc/memcached.conf běháním nano příkaz.

sudo nano /etc/memcached.conf

The memcached.conf konfigurační soubor se otevře pomocí editoru nano, vyhledejte soubor -l 127.0.0.1 řádek v konfiguraci a vyměňte 127.0.0.1 s vaší IP Memcached Server nebo v tomto případě 192.168.0.5.

Po výměně lisu ctrl+o pro zápis do konfiguračního souboru a stiskněte enter, stiskněte ctrl+x pro ukončení nano.

Restartujte server Memcached a ufw firewall spuštěním níže uvedeného příkazu.

sudo systemctl restart memcached ufw

Nyní jsme hotovi s instalací a konfigurací serveru Memcached na Ubuntu 20.04.

Připojování k serveru Memcached

Chcete-li používat server Memcached, budete muset nainstalovat klienta specifického pro daný jazyk. Naštěstí má Memcached podporu pro mnoho populárních jazyků.

Pojďme se tedy podívat, jak nainstalovat php a krajta klient pro Memcached.

PHP je nejoblíbenější skriptovací jazyk na straně serveru a Memcached většinou používají weboví vývojáři ke zlepšení výkonu serveru webových aplikací využívajících PHP.

Chcete-li nainstalovat podporu memcached v php, běh:

sudo apt install php-memcached

Python má také několik knihoven, které mohou pracovat a komunikovat se serverem Memcached, jako je např pymemcached nebo python-memcached.

Memcached pro python můžete nainstalovat spuštěním následujících příkazů pip:

pip install pymemcache
pip install python-memcached

Na závěr jsme se podívali na instalaci, konfiguraci a několik jazykových klientů Memcached v Ubuntu 20.04.

Chcete-li se dozvědět podrobnější a pokročilejší využití Memcached, podívejte se na Memcached Wiki.