Pereiti prie pagrindinio turinio

Kaip įdiegti ir sukonfigūruoti Redis Ubuntu/Debian

Redis yra atvirojo kodo, operatyviojoje atmintyje veikianti duomenų saugykla. Ji pasižymi itin didele sparta ir dažnai naudojama kaip cache, duomenų bazė arba pranešimų tarpininkas. Redis gali gerokai pagerinti aplikacijų našumą, nes duomenys saugomi RAM atmintyje, todėl juos galima pasiekti daug greičiau nei naudojant tradicines duomenų bazes.

Redis dažnai naudojamas svetainių duomenims kešuoti, sesijoms valdyti arba foninėms užduotims eilėje saugoti šiuolaikinėse web aplikacijose. Redis palaiko įvairius duomenų tipus, įskaitant tekstines reikšmes, hash, sąrašus, rinkinius ir kitus. Prireikus duomenys taip pat gali būti išsaugomi diske.

Jei Ubuntu ar Debian serveryje naudojate didelio našumo aplikaciją, Redis gali padėti sumažinti užklausų delsą ir pagrindinės duomenų bazės apkrovą.

Reikalavimai

Prieš diegiant Redis reikėtų atkreipti dėmesį į kelis pagrindinius reikalavimus:

  • Root arba sudo prieiga – norint diegti paketus ir valdyti sistemos paslaugas, reikalingos administratoriaus teisės.

  • Atnaujinta sistema – Ubuntu arba Debian sistema turėtų būti atnaujinta, kad būtų išvengta suderinamumo problemų su priklausomybėmis.

Norėdami atnaujinti sistemą, paleiskite:

sudo apt update -y && sudo apt upgrade -y

Minimalūs sistemos reikalavimai

  • CPU: vieno branduolio procesorius. Daugumą operacijų Redis vykdo viena gija.

  • RAM: bent 256 MB, tačiau ne vien testavimui rekomenduojama turėti 1 GB ar daugiau.

  • Disko vieta: pačiai Redis programinei įrangai reikia bent 50 MB, tačiau daugiau vietos gali prireikti priklausomai nuo diske saugomų duomenų kiekio.

Redis yra lengva sistema, tačiau jos našumas labai priklauso nuo turimos RAM atminties, nes didžioji dalis operacijų atliekama atmintyje.

Diegimas

1. Atnaujinkite sistemą

Jei sistemos dar neatnaujinote, paleiskite šią komandą. Jei sistema jau atnaujinta, pereikite prie kito žingsnio:

sudo apt update && sudo apt upgrade -y

2. Įdiekite Redis

Ši komanda įdiegs Redis paslaugą ir jai reikalingas priklausomybes:

sudo apt install redis-server -y

3. Patikrinkite, ar Redis veikia

Paleiskite šią komandą:

sudo systemctl status redis

Jei Redis veikia tinkamai, būsena turėtų būti rodoma kaip "active (running)".

Jei Redis nepasileido, paleiskite jį šia komanda:

sudo systemctl start redis

Norėdami, kad Redis būtų automatiškai paleidžiamas kartu su sistema, naudokite:

sudo systemctl enable redis-server

4. Patikrinkite Redis veikimą

Naudodami Redis CLI išsiųskite paprastą ping užklausą:

redis-cli ping

Jei Redis veikia ir atsako tinkamai, turėtumėte gauti atsakymą PONG.

Redis saugumo nustatymai ir konfigūravimas

1. Leiskite prisijungti tik lokaliai

Pagal numatytuosius nustatymus Redis klausosi tik 127.0.0.1 (localhost) adreso. Tai galite patikrinti atidarę konfigūracijos failą:

sudo nano /etc/redis/redis.conf

Suraskite:

bind 127.0.0.1 -::1

Jei nurodyta 0.0.0.0, pakeiskite ją į 127.0.0.1, nebent jums iš tikrųjų reikalinga nuotolinė prieiga.

Norėdami greitai rasti reikiamą tekstą faile, paspauskite Ctrl + W ir įveskite ieškomą frazę.

Jei Redis turi būti pasiekiamas per kelis tinklo adresus, atskirkite juos tarpais, kaip šiame pavyzdyje:

bind 127.0.0.1 167.231.232.71 162.54.23.1

2. Nustatykite patikimą Redis slaptažodį

Tame pačiame redis.conf faile suraskite šią eilutę:

# requirepass foobared

Pašalinkite komentaro simbolį ir įrašykite patikimą slaptažodį:

requirepass yourStrongPasswordHere

Išsaugokite pakeitimus ir uždarykite failą naudodami Ctrl+X, tada perkraukite Redis:

sudo systemctl restart redis

Norėdami patikrinti slaptažodį, paleiskite:

redis-cli

Tada įveskite:

127.0.0.1:6379> auth yourStrongPasswordHere

Turėtumėte gauti atsakymą:

OK

Norėdami patikrinti, ar Redis veikia tinkamai, įrašykite testinę reikšmę:

set test "Test Redis"

Gavę atsakymą OK, patikrinkite išsaugotą reikšmę:

get test

Turėtumėte matyti:

Test Redis

3. Išjunkite arba pervadinkite pavojingas komandas

Redis turi kelias komandas, kurios gali pakeisti arba pašalinti duomenis. Jos naudingos administravimui, tačiau neautorizuotas naudotojas gali jomis pasinaudoti ir sukelti rimtų problemų.

Pavyzdžiui:

  • FLUSHALL – pašalina visus raktus ir duomenis visoje Redis instancijoje.

  • FLUSHDB – pašalina visus duomenis iš šiuo metu pasirinktos duomenų bazės.

  • SHUTDOWN – išjungia Redis serverį.

  • DEL – pašalina vieną arba kelis raktus iš dabartinės duomenų bazės.

  • RENAME – pervadina raktą pasirinktoje duomenų bazėje.

  • SAVE – išsaugo duomenų rinkinį serverio diske ir vykdymo metu blokuoja kitas operacijas.

Norėdami šias komandas išjungti arba pervadinti, atidarykite redis.conf failą:

sudo nano /etc/redis/redis.conf

Suraskite skiltį “###SECURITY###” ir parametrą “rename-command”.

Pavyzdžiui, pervadinkime komandą “FLUSHALL”:

rename-command FLUSHALL IDOFLUSH

Taip komanda “FLUSHALL” bus pervadinta į “IDOFLUSH”, tačiau jos funkcionalumas išliks toks pats.

Dabar išjunkime komandą “SHUTDOWN”:

rename-command SHUTDOWN “”

Išsaugokite failą naudodami CTRL + X ir perkraukite Redis:

sudo systemctl restart redis

Prisijunkite prie Redis naudodami komandą “redis-cli” ir patikrinkite atliktus pakeitimus.

Redis naudojimas su WordPress, PrestaShop ir OpenCart

1. Įdiekite PHP Redis plėtinį

sudo apt install php-redis -y

Tada perkraukite PHP arba naudojamą web serverį. Jei naudojate Apache:

sudo systemctl restart apache2

2. Redis įjungimas WordPress

  1. Įdiekite Redis kešavimo papildinį, pavyzdžiui, “Redis Object Cache”.

  2. Į wp-config.php pridėkite:

define('WP_REDIS_HOST', '127.0.0.1'); define('WP_REDIS_PORT', 6379); define('WP_REDIS_PASSWORD', 'yourStrongPasswordHere');
  1. Aktyvuokite papildinį ir paspauskite “Enable Object Cache”.

3. Redis įjungimas PrestaShop

  1. Naudokite PrestaShop modulį, pavyzdžiui, "Redis Cache" arba "Page Cache Ultimate".

  2. Modulio nustatymuose nurodykite Redis serverio parametrus:

Host: 127.0.0.1 Port: 6379 Password: yourStrongPasswordHere

4. Redis įjungimas OpenCart

  1. Pakeiskite konfigūraciją taip, kad sesijoms būtų naudojamas Redis. Į config.php ir admin/config.php pridėkite:

ini_set('session.save_handler', 'redis'); ini_set('session.save_path', 'tcp://127.0.0.1:6379?auth=yourStrongPasswordHere');
Ar gavote atsakymą į savo klausimą?