Kaip įdiegti „Redis“ serverį „CentOS“ ir „Debian“ sistemose


„Redis“ yra atviro kodo, didelio našumo ir lanksti atmintyje esanti duomenų struktūros saugykla (rakto vertės formatas) - naudojama kaip duomenų bazė, talpykla ir pranešimų tarpininkas. Jis parašytas ANSI C ir veikia daugumoje, jei ne visose „Unix“ tipo operacinėse sistemose, įskaitant „Linux“ (rekomenduojamas diegti) be išorinių priklausomybių.

Tai yra daug funkcijų, palaiko kelias programavimo kalbas ir duomenų struktūras, įskaitant eilutes, maišos, sąrašus, rinkinius, rūšiuojamus rinkinius su diapazono užklausomis, bitų žemėlapius ir kt.

  • Palaiko daugumą programavimo kalbų, įskaitant C, Bash, Python, PHP, Node.js, Perl, Ruby.
  • Turi būdingą replikaciją, „Lua“ scenarijus, LRU iškeldinimą, operacijas ir skirtingą disko atkaklumo lygį.
  • Užtikrina aukštą prieinamumą per „Redis Sentinel“ ir automatinį skaidymą per „Redis Cluster“.
  • Palaiko vykdomas atomines operacijas.
  • Jis veikia kartu su atmintyje esančiu duomenų rinkiniu, kad pasiektų puikų našumą.
  • Palaiko nereikalingą pagrindinio ir vergo asinchroninį replikavimą.
  • Palaiko automatinį perjungimą.
  • Leidžia retai įrašyti duomenų rinkinį į diską tam tikrą laikotarpį arba kiekvieną komandą pridedant prie žurnalo.
  • Leidžia pasirinktinai išjungti atkaklumą.
  • Palaiko pranešimų skelbimą/prenumeratą.
  • Jis taip pat palaiko MULTI, EXEC, DISCARD ir WATCH operacijas ir daugelį kitų.

  1. „RHEL 7“ serveris su minimaliu įdiegimu
  2. „Debian“ serveris su minimaliu įdiegimu
  3. GCC kompiliatorius ir libc

Šioje pamokoje pateiksime instrukcijas, kaip įdiegti „Redis“ serverį iš šaltinio (tai yra rekomenduojamas metodas) sistemoje „Linux“. Mes taip pat parodysime, kaip sukonfigūruoti, valdyti ir apsaugoti „Redis“. Kadangi „Redis“ aptarnauja visus duomenis iš atminties, labai rekomenduojame su šiuo vadovu naudoti didelės atminties VPS serverį.

1 veiksmas: įdiekite „Redis Server“ iš šaltinio

1. Pirmiausia įdiekite reikalingas komponavimo priklausomybes.

--------------- On CentOS / RHEL / Fedora --------------- 
# yum groupinstall "Development Tools"
# dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
$ sudo apt install build-essential

2. Tada atsisiųskite ir sukompiliuokite naujausią stabilios „Redis“ versiją naudodami specialų URL, kuris visada nurodo naujausią stabilų „Redis“ naudojant komandą „wget“.

$ wget -c http://download.redis.io/redis-stable.tar.gz
$ tar -xvzf redis-stable.tar.gz
$ cd redis-stable
$ make 
$ make test
$ sudo make install

3. Po „Redis“ kompiliavimo, „Redis“ paskirstymo aplanke esančiame kataloge src užpildomi įvairūs šie vykdomieji failai, kurie yra „Redis“ dalis:

  • redis-server - redis serveris.
  • redis-sentinel - redis sentinel vykdomoji programa (stebėjimas ir perjungimas).
  • redis-cli - CLI programa, skirta sąveikauti su redis.
  • „redis-benchmark“ - naudojamas tikrinant „redis“ našumą.
  • redis-check-aof ir redis-check-dump - naudinga retais atvejais, kai sugadinti duomenų failai.

2 veiksmas: sukonfigūruokite „Redis Server“ sistemoje „Linux“

4. Tada turite sukonfigūruoti „Redis“, kad kūrimo aplinka būtų valdoma „init“ sistemos (šios pamokos tikslu „systemd“). Pradėkite nuo reikalingų katalogų, skirtų „Redis“ konfigūracijos failams ir duomenims saugoti, sukūrimo:

$ sudo mkdir /etc/redis
$ sudo mkdir -p /var/redis/

4. Tada nukopijuokite pateiktą „Redis“ konfigūracijos failo šabloną į aukščiau sukurtą katalogą.

$ sudo cp redis.conf /etc/redis/

5. Dabar atidarykite konfigūracijos failą ir atnaujinkite kelis nustatymus taip.

$ sudo vi /etc/redis/redis.conf

6. Toliau ieškokite šių parinkčių, tada pakeiskite (arba naudokite) jų numatytąsias reikšmes pagal vietinės aplinkos poreikius.

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

3 žingsnis: Sukurkite „Redis Systemd Unit Unit File“

7. Dabar, norėdami valdyti deemoną, turite sukurti „systemd“ vieneto failą, kad galėtumėte valdyti deemoną, vykdydami šią komandą.

$ sudo vi /etc/systemd/system/redis.service

Ir pridėkite konfigūraciją žemiau:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

Išsaugokite ir uždarykite failą.

4 žingsnis: valdykite ir išbandykite „Redis Server“ sistemoje „Linux“

8. Atlikę visas būtinas konfigūracijas, dabar galite paleisti „Redis“ serverį, kol kas įgalinkite jį automatiškai paleisti įkrovos metu; tada peržiūrėkite jo būseną taip.

$ sudo systemctl start redis
$ sudo systemctl enable redis
$ sudo systemctl status redis

9. Tada patikrinkite, ar visa „Redis“ sąranka veikia gerai. Norėdami bendrauti su „redis“ serveriu, naudokite komandą „redis-cli“. Prisijungę prie serverio, pabandykite paleisti kelias komandas.

$ redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. Tada uždarykite ryšį naudodami komandą exit ir iš naujo paleiskite redis serverį. Vėliau patikrinkite, ar raktas vis dar saugomas serveryje, kaip parodyta žemiau:

127.0.0.1:6379> exit
$ sudo systemctl restart redis
$ redis-cli
127.0.0.1:6379> get mykey

11. Norėdami ištrinti raktą, naudokite komandą „Delete“ taip:

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

5 žingsnis: „Redis“ serverio apsaugojimas „Linux“

12. Šis skyrius skirtas vartotojams, ketinantiems naudoti pakartotinio serverio, prijungto prie išorinio tinklo, pavyzdžiui, interneto, paslaugą.

Svarbu: paleidus internetą be jokio saugumo, jį labai lengva išnaudoti; todėl apsaugokite redis serverį taip:

  • blokuoti ryšius su „redis“ prievadu sistemoje užkarda
  • nustatykite susiejimo direktyvą su grįžtamojo ryšio sąsaja: 127.0.0.1
  • nustatykite „Requepass“ parinktį, kad klientai turės autentifikuoti naudodami komandą AUTH.
  • nustatykite SSL tunelį šifruoti srautą tarp „Redis“ serverių ir „Redis“ klientų.

Norėdami gauti daugiau informacijos apie naudojimą, vykdykite toliau pateiktą komandą:

$ redis-cli -h

„Redis“ pagrindiniame puslapyje galite rasti daugiau serverio komandų ir sužinoti, kaip naudoti „redis“ savo programoje: https://redis.io/

Šioje pamokoje parodėme, kaip įdiegti, konfigūruoti, valdyti ir apsaugoti „Redis“ sistemoje „Linux“. Norėdami pasidalinti mintimis, naudokite toliau pateiktą komentaro formą.