Ako nainštalovať Memcached na Ubuntu 20.04 LTS

Optimalizujte výkon svojej databázy pomocou servera Memcached s aplikáciami PHP a Python

Ak ste niekedy pociťovali bolesť z vysokého zaťaženia databázy, ktoré spôsobilo spomalenie vašich webových aplikácií, a pýtali ste sa: „Existuje spôsob, ako znížiť latenciu spôsobenú dotazmi DB?“, odpoveď na túto otázku je veľké áno. Priateľský démon vyrovnávacej pamäte Memcached je tu, aby vyriešil všetky vaše strasti! Ukladanie databázy do vyrovnávacej pamäte je jednou z najjednoduchších metód na zmiernenie zaťaženia databázy a zrýchlenie dynamických webových aplikácií.

Memcached sa definuje ako vysokovýkonný systém ukladania objektov do medzipamäte s distribuovanou pamäťou, všeobecnej povahy, ale pôvodne určený na použitie pri zrýchlení dynamických webových aplikácií zmiernením zaťaženia databázy. Vyvinutý Bradom Fitzpatrickom pre svoju webovú stránku LiveJournal v roku 2003.

V tomto článku sa pozrieme na to, ako nainštalovať a nakonfigurovať Memcached v Ubuntu 20.04 a pozrieť sa na klientov špecifických pre jazyk.

Predpoklady

Systém nainštalovaný s Ubuntu 20.04 s používateľom s právami správcu, tj sudo užívateľ.

Inštalácia

Memcached je k dispozícii na oficiálnom úložisku Ubuntu 20.04, okrem Memcached sa chystáme nainštalovať aj nástroj CLI známy ako libmemcached-tools spravovať Memcached. Na inštaláciu oboch stačí spustiť nasledujúci príkaz

sudo apt nainštalovať memcached libmemcached-tools

Overte inštaláciu

Po dokončení inštalácie sa démon Memcached spustí na pozadí sám. Na overenie inštalácie môžeme použiť príkaz z libmemcached-tools balík na získanie štatistík servera Memcached. Buď bež

memcstat --servers localhost

alebo

memcstat --servery 127.0.0.1

The memcstat príkaz zobrazuje štatistiku spusteného servera. Vyššie uvedený príkaz bude mať za následok výstup zobrazený nižšie.

Rôzne štatistiky ako napr uptime v sekundách, verzia a pid sa zobrazí ako výstup. Ak sa však nezobrazí žiadny výstup, je možné, že Memcached nebeží. Preto na spustenie servera Memcached musíte spustiť nasledujúci príkaz.

sudo systemctl spustí memcached

Ak chcete spustiť server Memcached pri spustení systému, použite nasledujúci príkaz.

sudo systemctl povoliť memcached

Konfigurácia Memcached

Ak máte memcached nainštalovaný na samotnom webovom serveri, nie je potrebné meniť konfiguračný súbor, pretože memcached je predkonfigurovaný na prácu s localhostom.

Na druhej strane, ak ste nainštalovali Memcached na samostatnom systéme, budete musieť zmeniť konfiguráciu, aby ste umožnili vzdialenému serveru prístup k serveru Memcached.

Nastavenie vzdialeného prístupu pre server Memcached

Memcached je zraniteľný voči útokom DDoS (Distributed Denial of Service). Nesprávne pravidlo brány firewall a otvorené porty UDP ponechajú váš server otvorený a zraniteľný voči útokom DDoS.

Na zmiernenie rizika môžeme buď deaktivovať protokol UDP pre Memcached v konfigurácii, alebo nastaviť firewall len tak, aby umožňoval dôveryhodné servery.

Po vybalení sa Ubuntu dodáva bez otvorených portov TCP alebo UDP. Ďalej démon brány firewall ufw (nekomplikovaná brána firewall) nie je predvolene povolená.

Povolíme firewall a nastavíme konfiguráciu Memcached, aby sme mohli zmierniť zraniteľnosť DDoS.

Najprv povoľte ufw spustením nasledujúceho príkazu:

sudo systemctl povoliť ufw

Potom spustite ufw službu spustením nižšie uvedeného príkazu:

sudo systemctl štart ufw

Keď je brána firewall spustená, môžeme konečne nastaviť pravidlá brány firewall. Najprv povoľte port 22, aby ste umožnili pripojenia SSH. SSH je potrebný na vzdialený prístup k požadovanému serveru.

sudo ufw povoliť 22

Po druhé, potrebujete poznať IP adresu klienta, teda hostiteľa webovej aplikácie a IP adresu servera, teda servera Memcached.

V tomto prípade predpokladajme, že IP klienta je 192.168.0.4 a IP servera Memcached 192.168.0.5 v lokálnej sieti.

Ak chcete povoliť vzdialený prístup servera memcached na klientsky server, spustite:

sudo ufw povoliť z 192.168.0.4 na ľubovoľný port 11211

Vymeňte 192.168.0.4 s požadovanou IP adresou klienta.

Ďalej upravte konfiguračný súbor Memcached umiestnený na adrese /etc/memcached.conf behom nano príkaz.

sudo nano /etc/memcached.conf

The memcached.conf konfiguračný súbor sa otvorí pomocou nano editora, vyhľadajte -l 127.0.0.1 riadok v konfigurácii a vymeňte 127.0.0.1 s vašou IP servera Memcached alebo v tomto prípade 192.168.0.5.

Po výmene lisu ctrl+o pre zápis do konfiguračného súboru a stlačte enter, stlačte ctrl+x ukončiť nano.

Reštartujte server Memcached a ufw firewall spustením nižšie uvedeného príkazu.

sudo systemctl reštart memcached ufw

Teraz sme hotoví s inštaláciou a konfiguráciou servera Memcached na Ubuntu 20.04.

Pripája sa k serveru Memcached

Ak chcete používať server Memcached, budete si musieť nainštalovať klienta špecifického pre jazyk. Našťastie má Memcached podporu pre mnoho populárnych jazykov.

Pozrime sa teda, ako nainštalovať php a pytón klient pre Memcached.

PHP je najpopulárnejší skriptovací jazyk na strane servera a Memcached väčšinou používajú weboví vývojári na zlepšenie serverového výkonu webových aplikácií poháňaných PHP.

Ak chcete nainštalovať podporu memcached v php, spustiť:

sudo apt install php-memcached

Python má tiež niekoľko knižníc, ktoré môžu pracovať a interagovať so serverom Memcached, ako napr pymemcached alebo python-memcached.

Memcached pre python môžete nainštalovať spustením nasledujúcich príkazov pip:

pip install pymemcache
pip install python-memcached

Na záver sme sa pozreli na inštaláciu, konfiguráciu a niekoľko jazykovo špecifických klientov Memcached v Ubuntu 20.04.

Ak chcete vedieť podrobnejšie a pokročilejšie využitie Memcached, pozrite sa na Memcached Wiki.