Kako instalirati Memcached na Ubuntu 20.04 LTS

Optimizirajte performanse svoje baze podataka korištenjem Memcached poslužitelja sa svojim PHP i Python aplikacijama

Ako ste ikada osjetili bol zbog visokog opterećenja baze podataka koje uzrokuje usporavanje vaših web-aplikacija i pitali se “Postoji li način da se smanji kašnjenje uzrokovano DB upitima?”, onda je odgovor na to pitanje veliki potvrdan odgovor. Memcached prijateljski susjedski memorijski cache demon je tu da riješi sve vaše probleme! Predmemoriranje DB-a jedna je od najjednostavnijih metoda za ublažavanje opterećenja DB-a i ubrzavanje dinamičkih web aplikacija.

Memcached se definira kao visokoučinkoviti, distribuirani sustav predmemorije objekata memorije, generičke prirode, ali izvorno namijenjen za upotrebu u ubrzavanju dinamičkih web aplikacija ublažavanjem opterećenja baze podataka. Razvio Brad Fitzpatrick za svoju web stranicu LiveJournal 2003. godine.

U ovom članku ćemo pogledati kako instalirati i konfigurirati Memcached u Ubuntu 20.04 i pogledati njegove klijente specifične za jezik.

Preduvjeti

Sustav instaliran s Ubuntu 20.04 s korisnikom s administrativnim pravima, tj sudo korisnik.

Montaža

Memcached je dostupan na službenom Ubuntu 20.04 spremištu, osim Memcached-a, također ćemo instalirati CLI alat poznat kao libmemcached-alati za upravljanje Memcachedom. Samo pokrenite sljedeću naredbu da instalirate oboje

sudo apt install memcached libmemcached-tools

Provjerite instalaciju

Nakon dovršetka instalacije, Memcached demon se sam pokreće u pozadini. Za provjeru instalacije možemo koristiti naredbu from libmemcached-alati paket za dobivanje statistike poslužitelja Memcached. Ili trči

memcstat --servers localhost

ili

memcstat --poslužitelji 127.0.0.1

The memcstat naredba prikazuje statistiku pokrenutog poslužitelja. Gornja naredba će rezultirati dolje prikazanim izlazom.

Razne statistike kao npr vrijeme rada u sekundama, verzija i pid će se prikazati kao izlaz. Međutim, ako se ne prikaže nikakav izlaz, moguće je da Memcached ne radi. Stoga morate pokrenuti sljedeću naredbu za pokretanje Memcached poslužitelja.

sudo systemctl pokreni memcached

Za pokretanje Memcached poslužitelja pri pokretanju sustava koristite sljedeću naredbu.

sudo systemctl omogući memcached

Konfiguriranje Memcacheda

Ako imate svoj memcached instaliran na samom poslužitelju web stranice, nema potrebe mijenjati konfiguracijsku datoteku jer je memcached unaprijed konfiguriran za rad s localhostom.

S druge strane, ako ste instalirali Memcached na zasebnom sustavu, morat ćete promijeniti konfiguraciju kako biste omogućili pristup udaljenom poslužitelju Memcached poslužitelju.

Postavljanje udaljenog pristupa za Memcached poslužitelj

Memcached je osjetljiv na DDoS (Distributed Denial of Service) napade. Netočno pravilo vatrozida i otvoreni UDP portovi ostavit će vaš poslužitelj otvorenim i ranjivim na DDoS napade.

Da bismo ublažili rizik, možemo ili onemogućiti UDP protokol za Memcached u konfiguraciji ili postaviti vatrozid samo kako bismo dopustili pouzdane poslužitelje.

Izvan kutije, Ubuntu se isporučuje bez otvorenih TCP ili UDP portova. Nadalje, firewall daemon ufw (nekomplicirani vatrozid) nije omogućen prema zadanim postavkama.

Omogućit ćemo vatrozid i postaviti Memcached konfiguraciju tako da možemo ublažiti DDoS ranjivost.

Prvo, omogućite ufw pokretanjem sljedeće naredbe:

sudo systemctl omogući ufw

Zatim pokrenite ufw uslugu pokretanjem donje naredbe:

sudo systemctl start ufw

Kada je vatrozid pokrenut, konačno možemo postaviti pravila vatrozida. Prvo omogućite port 22 da biste omogućili SSH veze. SSH je potreban za daljinski pristup željenom poslužitelju.

sudo ufw dopusti 22

Drugo, morate znati IP adresu klijenta, odnosno host web aplikacije i IP adresu poslužitelja, odnosno Memcached poslužitelja.

Za ovu instancu pretpostavimo da je IP klijenta 192.168.0.4 i Memcached IP poslužitelja biti 192.168.0.5 na lokalnoj mreži.

Dakle, da biste omogućili udaljeni pristup memcached poslužitelju klijentskom poslužitelju, pokrenite:

sudo ufw dopusti s 192.168.0.4 na bilo koji port 11211

Zamijenite 192.168.0.4 sa željenom IP adresom klijenta.

Zatim uredite konfiguracijsku datoteku Memcached koja se nalazi na /etc/memcached.conf trčanjem nano naredba.

sudo nano /etc/memcached.conf

The memcached.conf otvorit će se konfiguracijska datoteka u uređivaču nano, potražite -l 127.0.0.1 liniju u konfiguraciji i zamijenite 127.0.0.1 s IP-om vašeg Memcached poslužitelja ili u ovom slučaju 192.168.0.5.

Nakon zamjene presa ctrl+o za pisanje u konfiguracijsku datoteku i pritisnite enter, pritisnite ctrl+x za izlaz iz nano.

Ponovno pokrenite Memcached poslužitelj i ufw firewall pokretanjem donje naredbe.

sudo systemctl ponovno pokrenite memcached ufw

Sada smo gotovi s instalacijom i konfiguracijom Memcached poslužitelja na Ubuntu 20.04.

Povezivanje s Memcached poslužiteljem

Da biste koristili Memcached poslužitelj, morat ćete instalirati klijenta specifičnog za jezik. Srećom, Memcached ima podršku za mnoge popularne jezike.

Dakle, da vidimo kako instalirati php i piton klijent za Memcached.

PHP je najpopularniji skriptni jezik na strani poslužitelja, a Memcached uglavnom koriste web programeri za poboljšanje performansi poslužitelja web aplikacija koje pokreće PHP.

Da biste instalirali podršku za memcached u php, trčanje:

sudo apt instalirajte php-memcached

Python također ima nekoliko biblioteka koje mogu raditi i komunicirati s Memcached poslužiteljem, kao što su pymemcached ili python-memcached.

Možete instalirati memcached za python pokretanjem sljedećih pip naredbi:

pip install pymemcache
pip install python-memcached

U zaključku, pogledali smo instalaciju, konfiguraciju i nekoliko klijenata specifičnih za jezik Memcacheda u Ubuntu 20.04.

Da biste saznali detaljnije i naprednije korištenje Memcacheda, pogledajte Memcached Wiki.