Kako namestiti Memcached na Ubuntu 20.04 LTS

Optimizirajte delovanje baze podatkov z uporabo strežnika Memcached z vašimi aplikacijami PHP in Python

Če ste kdaj občutili bolečino zaradi visoke obremenitve baze podatkov, ki povzroča upočasnitev vaših spletnih aplikacij, in se spraševali »Ali obstaja način za zmanjšanje zakasnitve, ki jo povzročajo poizvedbe DB?«, potem je odgovor na to vprašanje velik pritrdilen. Memcached, prijazen demon predpomnilnika v soseski, je tukaj, da reši vse vaše težave! Predpomnjenje DB je ena najpreprostejših metod za lajšanje obremenitve DB in pospešitev dinamičnih spletnih aplikacij.

Memcached se opredeljuje kot visoko zmogljiv, porazdeljen sistem predpomnilnika pomnilniških objektov, generičen po naravi, vendar je bil prvotno namenjen uporabi pri pospeševanju dinamičnih spletnih aplikacij z lajšanjem obremenitve baze podatkov. Razvil ga je Brad Fitzpatrick za svojo spletno stran LiveJournal leta 2003.

V tem članku si bomo ogledali, kako namestiti in konfigurirati Memcached v Ubuntu 20.04 in si ogledali njegove odjemalce, specifične za jezik.

Predpogoji

Sistem, nameščen z Ubuntu 20.04 z uporabnikom s skrbniškimi pravicami, to je a sudo uporabnik.

Namestitev

Memcached je na voljo v uradnem skladišču Ubuntu 20.04, poleg Memcacheda bomo namestili tudi orodje CLI, znano kot libmemcached-tools za upravljanje Memcached. Samo zaženite naslednji ukaz, da namestite oba

sudo apt install memcached libmemcached-tools

Preverite namestitev

Po končani namestitvi se demon Memcached sam zažene v ozadju. Za preverjanje namestitve lahko uporabimo ukaz from libmemcached-tools paket za pridobitev statistike strežnika Memcached. Ali teči

memcstat --strežniki lokalni gostitelj

oz

memcstat --strežniki 127.0.0.1

The memcstat ukaz prikazuje statistiko delujočega strežnika. Zgornji ukaz bo povzročil izhod, prikazan spodaj.

Različne statistike kot npr čas delovanja v sekundah, različica in pid bo prikazano kot izhod. Če pa ni prikazan noben izhod, je možno, da Memcached ne deluje. Zato morate za zagon strežnika Memcached zagnati naslednji ukaz.

sudo systemctl zaženi memcached

Za zagon strežnika Memcached ob zagonu sistema uporabite naslednji ukaz.

sudo systemctl omogoči memcached

Konfiguriranje Memcached

Če imate vaš memcached nameščen na samem strežniku spletnega mesta, vam ni treba spreminjati konfiguracijske datoteke, saj je memcached vnaprej konfiguriran za delo z localhost.

Po drugi strani, če ste namestili Memcached v ločen sistem, boste morali spremeniti konfiguracijo, da omogočite dostop oddaljenega strežnika do strežnika Memcached.

Nastavitev oddaljenega dostopa za strežnik Memcached

Memcached je ranljiv za napade DDoS (Distributed Denial of Service). Nepravilno pravilo požarnega zidu in odprta vrata UDP bodo pustili vaš strežnik odprt in ranljiv za napade DDoS.

Za zmanjšanje tveganja lahko onemogočimo protokol UDP za Memcached v konfiguraciji ali pa nastavimo požarni zid samo tako, da dovolimo zaupanja vredne strežnike.

Iz škatle se Ubuntu pošilja brez odprtih vrat TCP ali UDP. Poleg tega demon požarnega zidu ufw (nezapleteni požarni zid) privzeto ni omogočen.

Omogočili bomo požarni zid in nastavili konfiguracijo Memcached, da bomo lahko ublažili ranljivost DDoS.

Najprej omogočite ufw z zagonom naslednjega ukaza:

sudo systemctl omogoči ufw

Nato začnite z ufw storitev tako, da zaženete spodnji ukaz:

sudo systemctl start ufw

Ko požarni zid deluje, lahko končno nastavimo pravila požarnega zidu. Najprej omogočite vrata 22, da omogočite povezave SSH. SSH je potreben za oddaljen dostop do želenega strežnika.

sudo ufw dovoli 22

Drugič, poznati morate naslov IP odjemalca, to je gostitelj spletne aplikacije, in naslov IP strežnika, to je strežnik Memcached.

V tem primeru predpostavimo, da je IP odjemalca 192.168.0.4 in IP strežnika Memcached 192.168.0.5 v lokalnem omrežju.

Če želite omogočiti oddaljeni dostop strežnika memcached do strežnika odjemalca, zaženite:

sudo ufw dovoli iz 192.168.0.4 na katera koli vrata 11211

Zamenjajte 192.168.0.4 z želenim naslovom IP odjemalca.

Nato uredite konfiguracijsko datoteko Memcached, ki se nahaja na /etc/memcached.conf s tekom nano ukaz.

sudo nano /etc/memcached.conf

The memcached.conf konfiguracijska datoteka se bo odprla z urejevalnikom nano, poiščite -l 127.0.0.1 vrstico v konfiguraciji in jo zamenjajte 127.0.0.1 z naslovom vašega strežnika Memcached ali v tem primeru 192.168.0.5.

Po zamenjavi stiskalnice ctrl+o za pisanje v konfiguracijsko datoteko in pritisnite enter, pritisnite ctrl+x za izhod iz nano.

Znova zaženite strežnik Memcached in ufw požarni zid tako, da zaženete spodnji ukaz.

sudo systemctl znova zaženi memcached ufw

Zdaj smo končali z namestitvijo in konfiguracijo strežnika Memcached na Ubuntu 20.04.

Povezava s strežnikom Memcached

Za uporabo strežnika Memcached boste morali namestiti odjemalca, ki je specifičen za jezik. Na srečo ima Memcached podporo za številne priljubljene jezike.

Torej, poglejmo, kako namestiti php in python odjemalec za Memcached.

PHP je najbolj priljubljen skriptni jezik na strani strežnika, Memcached pa večinoma uporabljajo spletni razvijalci za izboljšanje delovanja strežnika spletnih aplikacij, ki jih poganja PHP.

Če želite namestiti podporo za memcached v php, teči:

sudo apt namestite php-memcached

Python ima tudi več knjižnic, ki lahko delujejo in sodelujejo s strežnikom Memcached, kot je npr pymemcached oz python-memcached.

Memcached za python lahko namestite tako, da zaženete naslednje ukaze pip:

pip namestite pymemcache
pip install python-memcached

Za zaključek smo si ogledali namestitev, konfiguracijo in nekaj jezikovno specifičnih odjemalcev Memcached v Ubuntu 20.04.

Če želite izvedeti bolj podrobno in napredno uporabo Memcacheda, si oglejte Memcached Wiki.