Kako instalirati Redis poslužitelj u CentOS i sustave temeljene na Debianu


Redis je otvoreno izvorno, visokoučinkovito i fleksibilno skladište strukture podataka u memoriji (format ključ-vrijednost) – koristi se kao baza podataka, predmemorija i broker poruka. Napisan je u ANSI C i radi na većini, ako ne i na svim operativnim sustavima sličnim Unixu, uključujući Linux (preporučuje se za implementaciju) bez vanjskih ovisnosti.

Bogat je značajkama, podržava više programskih jezika i podatkovnih struktura uključujući nizove, hashove, popise, skupove, sortirane skupove s upitima raspona, bitmape između ostalog.

Značajke Redisa:

  • Podržava većinu programskih jezika uključujući C, Bash, Python, PHP, Node.js, Perl, Ruby da spomenemo samo neke.
  • Ima svojstvenu replikaciju, Lua skriptiranje, izbacivanje LRU-a, transakcije kao i različite razine postojanosti na disku.
  • Pruža visoku dostupnost putem Redis Sentinela i automatsko particioniranje putem Redis Clustera.
  • Podržava izvođenje atomskih operacija.
  • Radi sa skupom podataka u memoriji kako bi postigao izvanredne performanse.
  • Podržava trivial-to-setup master-slave asinkronu replikaciju.
  • Podržava automatski failover.
  • Omogućuje vam povremeno spremanje skupa podataka na disk tijekom određenog vremenskog razdoblja ili dodavanjem svake naredbe u zapisnik.
  • Omogućuje izborno onemogućavanje postojanosti.
  • Podržava objavljivanje/pretplatu na poruke.
  • Također podržava MULTI, EXEC, DISCARD i WATCH transakcije i mnoge druge.

Zahtjevi:

  1. CentOS 7 poslužitelj i RHEL 7 poslužitelj s minimalnom instalacijom
  2. Ubuntu poslužitelj ili Debian poslužitelj s minimalnom instalacijom
  3. GCC kompajler i libc

U ovom ćemo vodiču pružiti upute o tome kako instalirati Redis poslužitelj iz izvora (što je preporučena metoda) u Linuxu. Također ćemo pokazati kako konfigurirati, upravljati i osigurati Redis. Budući da Redis poslužuje sve podatke iz memorije, snažno predlažemo korištenje VPS poslužitelja s velikom količinom memorije uz ovaj vodič.

Korak 1: Instalirajte Redis poslužitelj iz izvora

1. Prvo instalirajte potrebne ovisnosti o izgradnji.

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

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

2. Zatim preuzmite i kompajlirajte najnoviju stabilnu verziju Redisa koristeći poseban URL koji uvijek upućuje na najnoviji stabilni Redis pomoću naredbe 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. Nakon kompilacije Redisa direktorij src unutar distribucije Redisa popunjava se različitim sljedećim izvršnim datotekama koje su dio Redisa:

  • redis-poslužitelj – redis poslužitelj.
  • redis-sentinel – izvršna datoteka redis sentinel (nadziranje i nadgledanje).
  • redis-cli – CLI uslužni program za interakciju s redisom.
  • redis-benchmark – koristi se za provjeru performansi Redisa.
  • redis-check-aof i redis-check-dump – korisno u rijetkim slučajevima oštećenih podatkovnih datoteka.

Korak 2: Konfigurirajte Redis poslužitelj u Linuxu

4. Zatim trebate konfigurirati Redis za razvojno okruženje kojim će upravljati sustav init (systemd za potrebe ovog vodiča) . Započnite stvaranjem potrebnih direktorija za pohranu Redisovih konfiguracijskih datoteka i vaših podataka:

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

4. Zatim kopirajte dostavljenu Redis konfiguracijsku datoteku predloška u direktorij koji ste stvorili iznad.

sudo cp redis.conf /etc/redis/

5. Sada otvorite konfiguracijsku datoteku i ažurirajte nekoliko postavki kako slijedi.

sudo vi /etc/redis/redis.conf

6. Zatim potražite sljedeće opcije, zatim promijenite (ili upotrijebite) njihove zadane vrijednosti prema potrebama vašeg lokalnog okruženja.

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

Korak 3: Stvorite datoteku jedinice Redis Systemd

7. Sada trebate stvoriti datoteku jedinice systemd za redis kako biste kontrolirali demona, pokretanjem sljedeće naredbe.

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

I dodajte konfiguraciju u nastavku:

[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

Spremite i zatvorite datoteku.

Korak 4: Upravljajte i testirajte Redis poslužitelj u Linuxu

8. Nakon što izvršite sve potrebne konfiguracije, sada možete pokrenuti Redis poslužitelj, za sada mu omogućite automatsko pokretanje pri dizanju sustava; zatim pogledajte njegov status na sljedeći način.

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

9. Zatim provjerite radi li cijela redis postavka dobro. Za interakciju s redis poslužiteljem koristite naredbu redis-cli. Nakon spajanja na poslužitelj pokušajte pokrenuti nekoliko naredbi.

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. Zatim zatvorite vezu naredbom exit i ponovno pokrenite redis poslužitelj. Nakon toga provjerite je li mykey još uvijek pohranjen na poslužitelju kao što je prikazano u nastavku:

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

11. Za brisanje ključa koristite naredbu za brisanje na sljedeći način:

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

Korak 5: Osiguranje Redis poslužitelja u Linuxu

12. Ovaj je odjeljak namijenjen korisnicima koji namjeravaju koristiti redis poslužitelj spojen na vanjsku mrežu poput Interneta.

Važno: Izlaganje Redis-a Internetu bez ikakve zaštite čini ga vrlo lakim za iskorištavanje; stoga osigurajte redis poslužitelj na sljedeći način:

  • blokirati veze s redis portom u vatrozidu sustava
  • postavite direktivu vezanja na sučelje povratne petlje: 127.0.0.1
  • postavite opciju requirepass tako da se od klijenata zahtijeva provjera autentičnosti pomoću naredbe AUTH.
  • postavite SSL tuneliranje za šifriranje prometa između Redis poslužitelja i Redis klijenata.

Za više informacija o korištenju pokrenite naredbu u nastavku:

redis-cli -h

Možete pronaći više poslužiteljskih naredbi i naučiti kako koristiti redis unutar vaše aplikacije na Redis početnoj stranici: https://redis.io/

U ovom vodiču smo pokazali kako instalirati, konfigurirati, upravljati i osigurati Redis u Linuxu. Da biste podijelili svoje mišljenje, upotrijebite obrazac za komentare u nastavku.