Kako instalirati Redis Server u CentOS i Debian sustave


Redis je otvorenog koda, visokih performansi i fleksibilno skladište strukture podataka u memoriji (format ključ/vrijednost) – koristi se kao baza podataka, keš memorija i posrednik poruka. Napisan je u ANSI C i radi na većini, ako ne i na svim operativnim sistemima sličnim Unixu, uključujući Linux (preporučuje se za implementaciju) bez vanjskih ovisnosti.

Bogat je funkcijama, podržava višestruke programske jezike i strukture podataka uključujući nizove, hešove, liste, skupove, sortirane skupove sa upitima opsega, bitmape između ostalog.

Redis karakteristike:

  • Podržava većinu programskih jezika uključujući C, Bash, Python, PHP, Node.js, Perl, Ruby da spomenem samo neke.
  • Ima inherentnu replikaciju, Lua skriptiranje, LRU izbacivanje, transakcije kao i različite nivoe postojanosti na disku.
  • Pruža visoku dostupnost kroz Redis Sentinel i automatsko particioniranje preko Redis Cluster.
  • Podržava izvođenje atomskih operacija.
  • Radi sa skupom podataka u memoriji kako bi postigao izvanredne performanse.
  • Podržava trivijalno za postavljanje master-slave asinkronu replikaciju.
  • Podržava automatski prelazak na grešku.
  • Omogućava vam da pohranjujete skup podataka na disk rijetko u određenom vremenskom periodu ili dodavanjem svake naredbe u dnevnik.
  • Dozvoljava opciono onemogućavanje postojanosti.
  • Podržava razmjenu poruka za objavljivanje/pretplatu.
  • Također podržava MULTI, EXEC, DISCARD i WATCH transakcije i još mnogo toga.

Zahtjevi:

  1. CentOS 7 server i RHEL 7 server sa minimalnom instalacijom
  2. Ubuntu server ili Debian server s minimalnom instalacijom
  3. GCC kompajler i libc

U ovom vodiču ćemo dati upute o tome kako instalirati Redis Server iz izvora (što je preporučeni metod) u Linuxu. Također ćemo pokazati kako konfigurirati, upravljati i osigurati Redis. Budući da Redis opslužuje sve podatke iz memorije, snažno predlažemo korištenje VPS servera velike memorije uz ovaj vodič.

Korak 1: Instalirajte Redis server 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 ukazuje na najnoviji stabilni Redis koristeći komandu 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 Redis kompilacije, src direktorij unutar Redis distribucije je popunjen različitim sljedećim izvršnim fajlovima koji su dio Redis-a:

  • redis-server – redis server.
  • redis-sentinel – izvršni redis sentinel (nadgledanje i prebacivanje).
  • redis-cli – CLI uslužni program za interakciju sa redis-om.
  • redis-benchmark – koristi se za provjeru performansi Redisa.
  • redis-check-aof i redis-check-dump – korisni u rijetkim slučajevima oštećenih datoteka podataka.

Korak 2: Konfigurirajte Redis server u Linuxu

4. Zatim morate konfigurirati Redis za razvojno okruženje kojim će upravljati init sistem (systemd za potrebe ovog vodiča) . Započnite kreiranjem potrebnih direktorija za pohranjivanje Redis konfiguracijskih datoteka i vaših podataka:

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

4. Zatim kopirajte priloženi predložak Redis konfiguracijske datoteke u direktorij koji ste kreirali iznad.

sudo cp redis.conf /etc/redis/

5. Sada otvorite konfiguracijski fajl i ažurirajte nekoliko postavki kako slijedi.

sudo vi /etc/redis/redis.conf

6. Sljedeće potražite sljedeće opcije, a zatim promijenite (ili koristite) 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: Kreirajte Redis Systemd jediničnu datoteku

7. Sada morate kreirati systemd jediničnu datoteku za redis kako biste kontrolirali demon, tako što ćete pokrenuti sljedeću naredbu.

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

I dodajte konfiguraciju ispod:

[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

Sačuvajte i zatvorite datoteku.

Korak 4: Upravljanje i testiranje Redis servera u Linuxu

8. Nakon što izvršite sve potrebne konfiguracije, sada možete pokrenuti Redis server, za sada, omogućite mu da se automatski pokreće pri pokretanju sistema; zatim pogledajte njegov status na sljedeći način.

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

9. Zatim testirajte da li čitava postavka Redisa radi dobro. Za interakciju sa redis serverom, koristite naredbu redis-cli. Nakon povezivanja na server, 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 ponovo pokrenite redis server. Nakon toga provjerite da li je mykey još uvijek pohranjen na serveru 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: Osiguravanje Redis servera u Linuxu

12. Ovaj odjeljak je namijenjen korisnicima koji namjeravaju koristiti redis server povezan na vanjsku mrežu kao što je Internet.

Važno: Izlaganje redisa Internetu bez ikakve sigurnosti čini ga izuzetno lakim za eksploataciju; stoga osigurajte redis server na sljedeći način:

  • blokirati veze sa redis portom u sistemu sa zaštitnim zidom
  • postaviti direktivu vezivanja na sučelje povratne petlje: 127.0.0.1
  • postavite opciju requirepass tako da će se od klijenata tražiti da se autentifikuju pomoću naredbe AUTH.
  • postavite SSL tuneliranje za šifriranje prometa između Redis servera i Redis klijenata.

Za više informacija o korišćenju, pokrenite naredbu u nastavku:

redis-cli -h

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

U ovom vodiču pokazali smo kako instalirati, konfigurirati, upravljati kao i osigurati Redis u Linuxu. Da podijelite bilo kakve misli, koristite formular za komentare ispod.